私はプログラムのスピードを最大限に高め(リアルタイムで結果を得るために)、ハードドライブからのデータの不必要な読み込みを避けるよう努めています。できるだけ多くのRAMを私のプログラムに使用する方法は?
プログラムは膨大な量の画像を処理することになっており、できるだけ多くの処理済みデータをRAMで処理したいと考えています。しかし、私が見つけたのは、malloc
は、私が8GBのRAM(Windows 7 64-bit)を使用していても、2GB以上を割り当てることができないということです。
できるだけ多くのRAMをプログラムで使用するにはどうすればよいですか?
64ビットLinuxに切り替えると、2GB以上(おそらく7または8GBに近い)の 'malloc'が可能になります。 –
'malloc'は連続したメモリブロックを割り当てます。それは単にあなたのために十分な大きさのブロックがないことかもしれません。また、8GBの物理RAMを持っていても、すべてのアプリケーションがそのメモリを共有します。すべてのメモリを連続的に読み書きしないと、その一部がディスクにスワップアウトされる可能性があります。 –
プログラムは64ビットモードで64ビット実行可能ファイルにコンパイルされていますか? –