Недействительный кеш чтения диска ОС - PullRequest
1 голос
/ 16 июня 2009

Я пытаюсь сравнить производительность программы Windows, когда дисковый кеш находится в лучшем состоянии (когда все файлы, необходимые для запуска программы, находятся в кеш-памяти, я просто запускаю ее несколько раз, чтобы получить это состояние), и когда кеш находится в худшем состоянии, он полностью пуст.

Единственный способ, которым я знаю, чтобы гарантировать, что кэш полностью пуст, это перезагрузить компьютер, но это не идеально, так как это занимает слишком много времени. Есть ли способ сделать это без перезагрузки? Я попытался синхронизировать, но это не делает кэш чтения недействительным ...

1 Ответ

1 голос
/ 16 июня 2009

В вашем звонке на CreateFile включите флаг FILE_FLAG_NO_BUFFERING. Для получения дополнительной информации см. Справочную страницу CreateFile на MSDN. Обратите внимание, в частности, требования .

Если для этого слишком сложно изменить код, попробуйте написать простую утилиту для чтения файла, который больше физической памяти. Этого может быть достаточно для удаления файлов, которые вам нужны, из кэша файловой системы.

...