25
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

一瞬でGoのコンパイルを3倍速くするコマンドがこちらです

Last updated at Posted at 2017-12-11

go runやgo build した時のコンパイル時間は、プロジェクトが大きくなるにつれて長くなるもの。コンパイルで待たされると、開発効率だけでなく、やる気も落ちてしまいますよね。

そんなときに、以下のコマンドをGoのプロジェクトルートで打ってみてください。
一瞬で3倍ぐらい高速化できるはずです。

rm -rf $GOPATH/pkg
go build -i <コンパイル対象.go>

DONE!
※ rm 打つ前に、$GOPATH を正しく設定しているかどうかは事前に確認ください ※

なんで速くなるの?

Goでは、以前にコンパイルしたときの中間ファイルが $GOPATH/pkg 以下に保存されます。中間ファイルがあれば、コンパイル時にそれが再利用されるので速いわけです。ただし、Go自体のバージョンや、ライブラリのバージョンが異なる場合には、再度中間ファイルを生成します。これはCPUをブンブン回すので重い。しかも、再度作られた中間ファイルはなぜか保存されず、古い中間ファイルは消えないらしいんですね。これが、ビルドが毎回重くなる原因です。

上のコマンドを打つことで古いキャッシュを消して、バージョンの差異が無い中間ファイルを再生するので、ビルドが速くなるというわけですね!

参考

25
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?