2016-05-04 6 views
0

.NETでは、オブジェクトはちょうど存在するために、ヘッダーには8、参照先には4が必要です。 32ビットシステムが処理できる最大12バイトのオブジェクトを作成したいとします(100%のオーバーヘッドを無視します)。この最大値はどういうものでしょうか? 私は170,000,000オブジェクトを作成することができるhere を読んだことがありますが、私が知っているように、32ビットシステムは最大4ゴーラムで管理することができます。32ビットシステムでどれくらいのオブジェクトを作成できますか?

+0

これらの数字はかなり役に立たないので、なぜ知る必要がありますか?おそらく根本的な質問にはより良い答えがあるでしょう。 –

+0

私は、オーバーヘッド量を減らす最良の方法が何かを理解しようとしていました。 データバイトを増やすと、クラスの複雑さが増しているクラスがたくさんあるクラスを持つことになるので、許容できる量のオーバーヘッドがあるのか​​、それともメモリ管理のニーズに依存しているのでしょうか? –

+1

あなたはこのオーバーヘッドを心配する必要はなく、代わりにクラスをデザインしてください。大規模なデータに関する懸念がある場合は、とにかく64ビットに移行する必要があります。 –

答えて

3
1,024 MB = 1 GB 

2 GB = 2,048 MB 
2,048 MB * 1,024 = 2,097,152 KB 
2,097,152 KB * 1024 = 2,147,483,648 B 

2,147,483,648 B/12 = 178,956,970 170million (ish) 

記事が指摘するように、そこにいくつかのオーバーヘッドがそこにあり、この大きさの物体は、実質的に役に立ちません。しかし、とにかく、上記のGB - > B/12変換の数学です。

関連する問題