順番に処理したい大きなバイナリファイル(約1GB)があります。ファイルにアクセスするためにメモリマップトファイルを使用しています。できるだけ早くファイル全体をスワップするようにWindowsに指示する方法はありますか?現在、ページフォールトが発生するたびに、Windowsが単一のページのみをロードしているように見えます。その結果、処理が非常に遅くなります。
質問する
1334 次
2 に答える
2
誰もPrefetchVirtualMemoryについて言及していないことに本当に驚いています:
BOOL WINAPI PrefetchVirtualMemory(
_In_ HANDLE hProcess,
_In_ ULONG_PTR NumberOfEntries,
_In_ PWIN32_MEMORY_RANGE_ENTRY VirtualAddresses,
_In_ ULONG Flags
);
その他のリンクは次のとおりです。
個人的には、これがあなたのアプリケーションにとって良いアイデアであるかどうかはわかりません. しかし、確かに - 試してみて、それが役立つかどうかを確認してください!
私見では ..
于 2012-12-08T17:58:22.780 に答える
1
ファイルのチャンクを強制的にメモリにページインするReadFile
場合は、ファイル マッピングの作成に使用したファイル ハンドルを使用して呼び出します。
于 2012-12-08T19:01:24.263 に答える