打开大量文件时,Windows CreateFile会变慢

时间:2017-08-24 20:39:36

标签: c++ windows createfile

我正在使用一个包含大约3000个文件的目录。我知道NTFS线程已经谈到CreateFile读取数量为100,000或数百万的文件很慢。我的数字几乎没有那么高,但CreateFile完成时仍需要4-7毫秒,这在我打开3000个文件时会增加。所以我的问题类似于下面的帖子。在某些机器上,当我调用CreateFile时它快速闪电,然后在其他机器上它是4-7毫秒的速度。我已经尝试过Fat32文件系统和NTFS而没有运气,两者都很慢。与Win7和Win10相同,两者都很慢。我注意到的唯一共同点是,速度慢的机器似乎在使用SATA / RAID控制器的机器上,而在具有标准SATA的机器上快速运行。所有机器都使用SSD驱动器。

作为一个注释:作为我的实验的一部分,我正在做与下面的线程相同的事情。我有一个简单的程序调用CreateFile然后调用CloseHandle。如上所述,在某些机器上(4-7ms CreateFile)并且在其他机器上运行速度非常慢。以下主题是一个非常相似的问题,但从来没有一个好的答案。

Why is windows so slow in opening files first time and is there a faster way

谢谢

dgraves

1 个答案:

答案 0 :(得分:1)

所以我错了。我没有安装任何第三方防病毒软件,但仍安装了Microsoft Security Essentials。这肯定是问题,当MSE运行时,CreateFile会变慢。因此,如果您运行MSE或Windows Defender,这将显着减慢CreateFile。

相关问题