ホームページ > バックエンド開発 > Golang > 依存関係を含む Go プロジェクトのサイズを正確に測定するにはどうすればよいですか?

依存関係を含む Go プロジェクトのサイズを正確に測定するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-15 22:43:03
オリジナル
528 人が閲覧しました

How Can I Accurately Measure the Size of My Go Project, Including Dependencies?

Go プロジェクトのサイズを正確に決定する方法

このディスカッションの主な質問は Go プロジェクトのサイズの確認を中心に展開しますが、提供されるソリューションにより、パッケージの依存関係が結果のバイナリ サイズにどのように影響するかをより深く理解できるようになります。

バイナリ サイズの確認

Go プロジェクトのバイナリのサイズを確認するには、 $GOPATH/pkg ディレクトリに移動し、.a ファイル (ライブラリ バイナリ) の KB サイズを確認します。ゴリラ http パッケージの場合、64 ビット MacOS システムでのサイズは次のとおりです。

284 mux.a
128 securecookie.a
128 sessions.a
ログイン後にコピー

ライブラリ サイズを超える

ただし、パッケージ サイズは実行可能ファイルのサイズへの影響を決定する唯一の要因です。依存関係も、インポートされたパッケージ間の共有依存関係により変動しますが、影響を与えます。

例: 依存関係の影響

次の 3 つのプログラムを考えてみましょう:

  • empty.go: 依存関係なし (サイズ: 1028 KB)
  • http.go: "net/http" をインポートします (サイズ: 5812 KB)
  • mux.go: Imports "github.com/gorilla/mux" (サイズ: 5832 KB)

機能的には同等ですが、サイズは大きく異なります。 「net/http」だけでもかなりの量の重みが追加され、「mux」は「net/http」への依存性により追加のオーバーヘッドを伴います。

結論

パッケージのインポートがバイナリ サイズに与える実際の影響を正確に判断するには、ライブラリ自体のサイズだけでなく、そのサブ依存関係も考慮することが不可欠です。これにより、パッケージが Go の実行可能ファイル全体のサイズにどのように影響するかをより包括的に理解できるようになります。

以上が依存関係を含む Go プロジェクトのサイズを正確に測定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート