私の関数では、ファイルからバッファにデータを読み込み、データを操作して別のファイルに書き戻す必要があります。ファイルは不明なサイズであり、非常に大きい場合があります。read-process-writeの最適なバッファサイズ
小さなバッファを使用すると、読み書きサイクルが長くなり、時間がかかることがあります。これとは対照的に、長いバッファとは、より多くのメモリを消費する必要があることを意味します。私が使用すべき最適なバッファサイズは何ですか?このケースは依存していますか?
巨大なファイルを効率的に管理するWindowsでは、「Tera copy」のようなアプリケーションがいくつか見られました。私が知っておくべき他のテクニックやメカニズムはありますか?
注:このプログラムはWindowsで実行されます。
動的バッファサイズはどうですか? – Mysticial
私はいくつかのベンチマークを実行して見ることを言います。現代のPCに1MBまたは2を割り当てることについても心配しないでください。 – drescherjm
おそらく、 'mmap'を使うと助けになるかもしれません。また、Linuxには 'readahead'システムコールもあります。 –