Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows CreateFile性能_Windows_File Io_Createfile - Fatal编程技术网

Windows CreateFile性能

Windows CreateFile性能,windows,file-io,createfile,Windows,File Io,Createfile,我正在测量性能,似乎window的CreateFile函数调用实际上并不便宜,而且似乎取决于文件大小?对于400-500k文件,大约需要0.3毫秒,而100-200k文件大约需要0.2毫秒。你知道为什么会这样吗?我认为CreateFile只需要打开文件的句柄,而不需要进行任何遍历?你知道如何减少这一时间吗?我不能使用fopen,因为我正在使用重叠功能来执行异步IO 谢谢fopen调用了CreateFile,所以速度再快不过了。除了文件大小之外,其他都一样吗?目录结构更深、权限更复杂等的文件打开成

我正在测量性能,似乎window的CreateFile函数调用实际上并不便宜,而且似乎取决于文件大小?对于400-500k文件,大约需要0.3毫秒,而100-200k文件大约需要0.2毫秒。你知道为什么会这样吗?我认为CreateFile只需要打开文件的句柄,而不需要进行任何遍历?你知道如何减少这一时间吗?我不能使用fopen,因为我正在使用重叠功能来执行异步IO


谢谢

fopen
调用了
CreateFile
,所以速度再快不过了。除了文件大小之外,其他都一样吗?目录结构更深、权限更复杂等的文件打开成本可能更高。缓存可能会产生影响。上下文切换也是如此。您平均有多少次基准测试尝试达到这些数字?这可能是重复的是唯一的区别是文件大小(和内容)。这些文件都处于同一级别&我正在使用rammap清除每次运行之间的缓存。我已经运行过多次了,所以它不是一次性的。可能是你的防病毒软件。病毒扫描肯定需要更长的时间来处理更大的文件。