ここらへんにFILE_FLAG_SEQUENTIAL_SCANによる(FireFoxなどの)高速化の理由が。つまり、普通は32k単位?でファイルの内容をメモリに読み込むが、FILE_FLAG_SEQUENTIAL_SCANをつけて読み込むと2Mのメモリに読み込まれる、らしい・・・
.NETにも効くのか分からないが、試してみる価値はあるか。XPと7で試してみよう。

We page in most of xul.dll and mozjs.dll. So i figured why not try lazy-linking libxul and preloading it. Turned out lazylinking didnt make any difference, but preloading seems to consistently shave up 2seconds of startup on my profile(40%).
I'm going to doublecheck on my favourite user's slow computer. Here is the patch in meantime.

Basic idea is that the sequential flag + bullshit read tricks windows into reading xul in 2mb chunks instead of stupid 32k(or smaller) ones. Have to do it this way because there is no fadvise() on Windows(that I know of)
A big sequential read cuts down on a lot of seeks.