Go Build の不必要なリビルド
Go のビルド プロセスは、特に Cgo 呼び出しを含むプログラムの場合、著しく遅くなることがあります。これに対処するには、キャッシュ用の % ルールを備えた Makefile を利用することをお勧めします。しかし、言語設計者によると、Go のビルド サポートにより Makefile は廃止されました。
代替ソリューション
Go コミュニティは代替ソリューション、つまり、 go コマンド自体。このキャッシュにはビルドされたパッケージとメタデータが保存され、可能な限り以前のビルド ステップを再利用することでビルド プロセスが最適化されます。
実装と利点
Go 1.10 (2018 年第 1 四半期) 以降、 go build と go install はこのビルド キャッシュを実装しました。キャッシュの場所は、$GOCACHE 環境変数を使用して設定できます。デフォルトでは、これはオペレーティング システムのユーザー キャッシュ ディレクトリに存在します。 go clean -cache コマンドを使用すると、ログ ファイルを削除せずにキャッシュをクリアできます。
ビルド キャッシュは、「go test」コマンドと「go build」コマンドを高速化するだけでなく、デフォルトで増分ビルドも有効にします。ユーザーは、高速な増分ビルドを実現するために、「go test -i」や「go build -i」などの回避策に頼る必要がなくなりました。
以上がGo のビルド キャッシュが、ビルドを高速化するための Makefile のより良い代替手段であるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。