1

私は知っています、それは実装の詳細であり、一部の人々はそれらに興味を持つことは禁じられていると考えています. それにもかかわらず、私は次の参照と確認を見つけたいと思っています。

  1. ラージ オブジェクト ヒープは、セグメント内のホールの空​​きリストを維持します。これを使用して、大きなオブジェクトの割り当て要求を満たします。また、そのような割り当ては、小さなオブジェクト ヒープからの通常の (割り当てポインターのみが増加する) 割り当てよりも高価になる可能性があることを意味しませんか? 参照

  2. 32 ビット プロセスでは、セグメント サイズの下限は 16MB です。64 ビット プロセスのサイズ制限はどのくらいですか?

注意: この質問は、適切なオブジェクト設計 (プーリング) ソリューションを求めているわけではありません。

4

1 に答える 1

1

VMMap の助けを借りて、質問の 2 番目の部分を見つけました。

最小セグメント サイズ

32 ビットの場合 (MS ブログでもそのように報告されています):

Initial segment size for Gen 0,1,2:       16 MB   
Initial segment size for LOH:             16 MB  
Size for larger LOH chunks:multiples of    8 MB  

64ビットの場合(試してみただけでわかりました):

Initial segment size for Gen 0,1,2:      256 MB  
Initial segment size for LOH:            128 MB  
Size for larger LOH chunks: multiples of 128 MB  
于 2011-04-20T09:54:29.403 に答える