Go プロジェクトのサイズを正確に決定する方法
このディスカッションの主な質問は Go プロジェクトのサイズの確認を中心に展開しますが、提供されるソリューションにより、パッケージの依存関係が結果のバイナリ サイズにどのように影響するかをより深く理解できるようになります。
バイナリ サイズの確認
Go プロジェクトのバイナリのサイズを確認するには、 $GOPATH/pkg ディレクトリに移動し、.a ファイル (ライブラリ バイナリ) の KB サイズを確認します。ゴリラ http パッケージの場合、64 ビット MacOS システムでのサイズは次のとおりです。
284 mux.a 128 securecookie.a 128 sessions.a
ライブラリ サイズを超える
ただし、パッケージ サイズは実行可能ファイルのサイズへの影響を決定する唯一の要因です。依存関係も、インポートされたパッケージ間の共有依存関係により変動しますが、影響を与えます。
例: 依存関係の影響
次の 3 つのプログラムを考えてみましょう:
機能的には同等ですが、サイズは大きく異なります。 「net/http」だけでもかなりの量の重みが追加され、「mux」は「net/http」への依存性により追加のオーバーヘッドを伴います。
結論
パッケージのインポートがバイナリ サイズに与える実際の影響を正確に判断するには、ライブラリ自体のサイズだけでなく、そのサブ依存関係も考慮することが不可欠です。これにより、パッケージが Go の実行可能ファイル全体のサイズにどのように影響するかをより包括的に理解できるようになります。
以上が依存関係を含む Go プロジェクトのサイズを正確に測定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。