2008-04-30  大容量ファイルI/Oの効率について 其の弐

FILE_FLAG_NO_BUFFERING 指定のないReadFile() -赤線-
リニアにアクセス速度が低下していく。大容量ファイルのリードを行うことに対して
Windows の I/O バッファリングアルゴリズムにパフォーマンスバグがあると思われる。
FILE_FLAG_NO_BUFFERING を指定すれば回避できるとはいえ、
コンシューマ市場向けにもTBクラスのストレージが出回ってる昨今、これは致命的な問題だと思う。

FILE_FLAG_NO_BUFFERING 指定のあるReadFile() -緑線-
2GiB の読み込みに概ね12-13秒台の高速でコンスタントなアクセス速度を誇る。(・∀・)イイ!!

http://img.f.hatena.ne.jp/images/fotolife/w/wraith13/20080430/20080430231453.png
http://d.hatena.ne.jp/wraith13/20080430/1209565632