C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

64bitプログラムの利点

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■82406 / inTopicNo.1)  64bitプログラムの利点
  
□投稿者/ トムヤーソ (1回)-(2017/01/08(Sun) 21:03:02)

分類:[.NET 全般] 


プログラムには32bitと64bitのものがありますが
64bitにするメリットはメモリを多く使うことができる、ことだと思います。

そのため、どの程度大きなサイズのメモリを使うことができるか
確かめるために
VB.NETを使って、
生成できる配列を最大サイズの比較を行いました。

一次元のバイト配列の場合ですが、


32bit版だと
1,231,253,219

64bit版だと
2,147,483,577

という結果になりました。
たった1.7倍しか差異がありませんでした。

これよりも大きなサイズを指定しようとすると
エラーが出てビルドすることができません。

integerの最大値が
2,147,483,647なので、
少し誤差がありますが、この辺りが上限となっているように思います。

それで質問なのですが
・配列サイズの上限はほとんど同じなのであれば、64ビット版のプログラムを作成するメリットは何なのでしょうか?
・上記よりも更に大きなサイズの配列を生成するにはどうしたら良いでしょうか?

よろしくお願いいたします。


引用返信 編集キー/
■82407 / inTopicNo.2)  Re[1]: 64bitプログラムの利点
□投稿者/ トムヤーソ (2回)-(2017/01/08(Sun) 21:05:26)
あと、ちなみにsingleの配列で比較を行うと

32bitだと
318,713,299

64bitだと
536,870,896

となっており、
ちょうどバイト配列の4分の1の大きさになりましたので、
配列数に上限があるというより
配列で使えるメモリ量に上限があるように思います。
 
引用返信 編集キー/
■82408 / inTopicNo.3)  Re[2]: 64bitプログラムの利点
□投稿者/ Hongliang (486回)-(2017/01/08(Sun) 21:10:47)
現実のプログラムとして、凄く大きい配列一つ作ればOKといケースはあんまりなくて、そこそこの大きさの配列をそこそこの数作りたい、という要求の方が大きいです。
なので、比較したいのであれば、例えば10MBの配列をいくつ作れるかを考えた方がいいのではないでしょうか。
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ