ふわっとテック日記

テック系のことをメインに書いていきます。go言語/typescript/javascriptが好きです。たまに趣味(筋トレ)の話や日常系の記事も書きたいな〜と思っています。

Gopls v0.12

Go言語のLanguage ServerであるGoplsが今夏アップグレードされ、v0.12がリリースされました。

go.dev



前バージョンに比較してメモリ効率がレベルアップされています。


またファイルベースでのキャッシュで各パッケージの情報を保持するのですが、プロセスを横断してキャッシュが持続するため

goplsを再起動した場合でも動作が速いままだったり、複数のgoplsインスタンスを起動した際のパフォーマンスのシナジーが大きくなったりするようです。


また今まではインメモリのパッケージに対してしか静的分析ができなかったのに対し、v0.12ではこのメモリ制限が撤廃されたことによって

パッケージ間の依存関係の分析が正確にできるようになりました。

これにより、Go標準のパッケージの関数を自前でラップした、というような場合でも、そのフォーマットの間違いを捕捉できるようになったりするそうです。