1)ディスクのセクタサイズを確認してください。
2)ディスクがデフラグされていることを確認します。
3)キャッシュのローカリティを向上させるために行った最後の読み込みに「ローカル」なデータを読み込みます(キャッシュはオペレーティングシステムによって実行され、多くのハードドライブにもキャッシュが組み込まれています)。
4)データを連続して書き込みます。
書き込みパフォーマンスでは、セクタサイズの倍数に達するまでメモリ内のデータブロックをキャッシュし、ディスクへの非同期書き込みを開始します。データが書き込まれている(つまり、書き込みを同期する)まで、現在書き込まれているデータを上書きしないでください。ここでダブルバッファリングやトリプルバッファリングが役立ちます。
最高の読み取りパフォーマンスを得るには、バッファ読み取りを倍増させることができます。つまり、読み込み時に16Kブロックをキャッシュするとします。最初の16Kをディスクからブロック1に読み込みます。ブロック2に2番目の16Kの非同期読み取りを開始します。ブロック1で作業を開始します。ブロック1で処理を終了すると、ブロック2の読み取りを同期させ、ブロック1への非同期読み取りを開始します。第3の16Kブロックをブロック1に同期させます。第3の16Kブロックの同期を終了すると、第4の16Kのブロック2への非同期読み出しを開始し、ブロック1で動作します。すべてのデータを処理するまで、すすぎ洗いを繰り返します。
すでに述べたように、読み込む必要のあるデータが少ないほど、ディスクからの読み込みに失われます。圧縮されたデータを読み込み、読み込み時に各ブロックを展開するCPU時間を費やす価値があります。書き込み前にブロックを均等に圧縮すると、ディスクの時間が節約されます。これが勝利かどうかは、データの処理がどのようにCPUに集中しているかによって大きく左右されます。
また、ブロックの処理が非対称である(つまり、処理ブロック1が処理ブロック2の3倍の時間を要する可能性がある)場合、読み取りのために3回以上のバッファリングを考慮する。
出典
2011-01-25 15:06:20
Goz
にフラッシュするのを待ちますできるだけ少なく、それはとても遅いです。 – BlackBear