おいついたー
てことで、先日の続き。
自作ファイルコピーロジックがVistaのシェルのコピーに追いつかないって話ですな。
まぁ、表題の通り、追いつきましたよ、ミスター。
よく頑張った、俺(自画自賛)
結局のところ、速度のポイントはデータ書き込みAPIに一度に渡すデータ量の問題でした。
で、そのデータ量の最適なポイントは、HDD側のキャッシュサイズと同容量がベストマッチ。
それ以外は、小さいのも中途半端なのも性能に極端に悪影響が出て、だったら限界まで一気に処理する方が速いって感じでした。
ベストサイズ時の処理速度は、ベンチマークソフトのほぼ期待値通りの値が出てるので、たぶんあってると思う・・・(をい
ただまぁ、HDD側のキャッシュといっても、必ずしもHDDのカタログスペックにあるキャッシュ容量がベストではなさそうで。
とゆーのも、検証してる自宅のPCはIntelのICH8RでRAID0組んでたりするんですが、そのストライプサイズが128kで切ってあったんですな。
で、その場合のベストな処理容量は、ストライプサイズと同容量の128kでした。
・・・結局のところ、最大速度を出すための最適容量は環境依存とゆーオチになりました・・・orz
んー、どーしたもんかなー。
設定ファイルで、処理先別にいちいち転送サイズを設定させるよーにするのか?
それにしても、ベストの値が環境依存って状況で、友人やら俺が相手とはいえ、ちゃんと設定できんのか?w
バッファ容量毎のベンチ取って設定最適化する機能とか付けるべきかなぁ・・・。
とゆーか、ベスト値とワースト値では処理速度に倍の開きが出るケースがあるからなぁ・・・orz
トラックバック URL :