Go でのビルド効率の向上: キャッシュベースのソリューション
Go でのビルド時間の遅さの問題、特に小規模な cgo ベースのプログラムの場合これにより、Go コミュニティは代替ソリューションを検討するようになりました。これまで go build および go run コマンドは予想よりも著しく遅かったため、改善が望まれていました。
考えられる解決策の 1 つは、% ルールを使用して Makefile を利用することです。ただし、Go 言語の設計者が示唆しているように、Go の組み込みビルド サポートにより、Makefile などの外部ツールは必要なくなります。
幸いなことに、大幅な改善が見られます。 2018 年の第 1 四半期にリリースされる予定の Go 1.10 では、go build と go install のビルド速度が大幅に向上します。 Go コマンドは、ビルドされたパッケージのキャッシュとその他の小さなメタデータを維持するようになりました。これらのメタデータは、デフォルトでオペレーティング システム定義のユーザー キャッシュ ディレクトリに保存されますが、$GOCACHE を設定することで移動できます。
このビルド キャッシュの主な効果は、「go test」や「go build」などのコマンドを迅速に実行でき、常に増分ビルドを実行し、過去のビルド ステップを可能な限り積極的に再利用できることです。これは、ユーザーが高速な増分ビルドを取得するために「go test -i」、「go build -i」、または「go install」を使用する必要がなくなったことを意味します。
go install は名前付きパッケージの依存関係をインストールしないことに注意してください。このコマンドの機能について詳しくは、「go build build what?」を参照してください。
以上がGo 1.10 は、特に小規模な cgo ベースのプログラムのビルド効率をどのように向上させることができますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。