Windowsでfadvise / madviseと同等のものは何ですか?
-
05-07-2019 - |
質問
たとえば、UNIXでは、 posix_fadvise(POSIX_FADV_WILLNEED)
を使用して、今後マッピングが必要になることをOSに伝えることができます。気がついたらデータを先読みします。
Windowsへのアクセスの意図を伝える方法?
解決
実際、Andersが主に示唆していたように、 Windows 7以前で利用可能なメモリ管理機能にはそのような方法はありません。
同様のことを行うための2つの異なる方法があります:
- ReadFileEx でデータを非同期に読み取ります。後で必要になったときに、データがファイルキャッシュに残っている可能性があります。
-
FILE_FLAG_SEQUENTIAL_SCAN 属性を持つストリーミングヒントでファイルを開きます。 aspx "rel =" noreferrer "> CreateFile 。先読みは、おそらく自動的に行われます。
他のヒント
Windows 8以降では、 PrefetchVirtualMemory
この目的の関数。
FILE_FLAG_RANDOM_ACCESS
または FILE_FLAG_SEQUENTIAL_SCAN
をCreateFile()に渡すことができます
所属していません StackOverflow