可能重复:
How to invalidate the file system cache?如何强制Windows清除所有磁盘读取缓存数据?
我正在写一个磁盘密集型Win32程序。它首次运行时,运行速度会比使用FindFirstFile()/ FindNextFile()扫描用户文件夹时慢得多。
如何在不重新启动的情况下重复此首次演奏?有没有办法强制系统丢弃磁盘缓存中的所有内容?
我知道,如果我读一个单一的文件,我可以通过将FILE_FLAG_NO_BUFFERING标志调用CreateFile时禁用缓存()。但在搜索文件时似乎无法做到这一点。
+1我正在轮到自己张贴相关的帖子。当试图解决磁盘相关算法的性能问题时,缓存确实会阻碍。好问题。 – 2010-07-18 15:55:54