Gopls v0.12

golang logo プログラミング

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

Scaling gopls for the growing Go ecosystem - The Go Programming Language
As the Go ecosystem gets bigger, gopls must get smaller

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

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

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

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

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

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

コメント

タイトルとURLをコピーしました