为什么打开多个文件要花这么长时间?

为什么打开多个文件要花这么长时间?

最近,我问了以下问题关于 SO 的问题

我有一个文件夹foo,里面有数千个.html文件,每个文件大约 300 Kb。

以下是我打开它们的方法:

 import os
 import time

 folder_name = 'foo'
 for file_name in os.listdir(folder_name):
     t = time.time()
     with open(os.path.join(folder_name, file_name)) as f:
         print(time.time() - t, 'seconds to open', file_name)

下面是我得到的输出:

 1.6057319641113281 seconds to open 1.html
 1.3181514739990234 seconds to open 2.html
 1.1490132808685303 seconds to open 3.html
 1.2970092296600342 seconds to open 4.html
 1.0074846744537354 seconds to open 5.html
 1.5122349262237549 seconds to open 6.html
 1.1730327606201172 seconds to open 7.html
 1.9992561340332031 seconds to open 8.html

 etc.

我有一个固态硬盘 (SSD),打开一个小文件需要一秒钟以上的时间,这让我非常惊讶。

这是正常的吗?如果不正常,可以做些什么来加快速度?

我误以为我的问题是 Python 特有的。现在我在另一台电脑上尝试了一下,它只花了几毫秒的时间(这是应该的)。

此外,压缩许多小文件每个文件也需要大约 1 秒钟。因此,问题在于 Windows 10 打开文件需要超过 1 秒钟。

我能做什么吗?(​​除了重新安装整个系统)

答案1

可能是实时防病毒保护延迟了文件打开。您可以在重新运行测试时暂时禁用 AV,以测试这是否是原因。

从您的评论来看,我无法解释为什么两台运行相同 AV 软件的机器之间会有差异,除非设置不同,包括任何文件夹或文件类型排除。

如果设置差异不是原因,您将需要使用性能监视器来找出 AV 实时检查器花费时间的地方。

相关内容