.NET のオブジェクト メモリ オーバーヘッド
.NET Framework でオブジェクトを扱う場合、オブジェクトに関連付けられたメモリ要件を理解することが重要です。 。オブジェクトのプロパティとフィールドの記憶域以外にも、.NET の内部動作によって追加のオブジェクトごとのオーバーヘッドが発生します。
このオーバーヘッドには、オブジェクト ヘッダーなどの要素に必要なメモリが組み込まれており、このオーバーヘッドには次のような情報が含まれます。オブジェクトのタイプ、割り当てサイズ、ガベージ コレクターへの参照など。正確なメモリ オーバーヘッドの決定は、特定の .NET 実装によって異なります。
さまざまな実装におけるオーバーヘッド
Microsoft .NET CLR v4 の場合:
最小オブジェクト サイズ
オーバーヘッドは実装によって異なりますが、最小オブジェクト サイズはありますオブジェクトがそれ以下に収まらないサイズ。これらのサイズは次のとおりです。
8 バイトまたは 16 バイトの技術的なオーバーヘッドにもかかわらず、オブジェクトは追加のメモリが割り当てられる前に、実際のデータの 4 または 8 バイトを保存します。これにより、小さなデータ メンバーにスペースの「空き」バッファが効果的に提供されます。
.NET でのオブジェクト メモリ割り当ての詳細については、ブログ投稿「メモリと文字列について」を参照してください。
以上が.NET のオブジェクト メモリ オーバーヘッドとは何ですか?また、それは実装によってどのように異なりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。