【发布时间】:2010-07-18 15:34:32
【问题描述】:
我正在编写一个磁盘密集型 win32 程序。第一次运行时,它使用 FindFirstFile()/FindNextFile() 扫描用户的文件夹时运行速度要慢很多。
如何在不重新启动的情况下重复第一次表演?有没有办法强制系统丢弃磁盘缓存中的所有内容?
我知道,如果我正在读取单个文件,我可以通过将 FILE_FLAG_NO_BUFFERING 标志传递给对 CreateFile() 的调用来禁用缓存。但是在搜索文件时似乎无法做到这一点。
【问题讨论】:
-
+1 我正准备自己发布相关帖子。在尝试计算磁盘相关算法的性能时,缓存确实会阻碍。好问题。