python - 为什么再次读取文件读取速度更快?

标签 python linux file

SIZE = 1<<16
def justread(file):
    with open(file, 'rb') as f:
        while f.read(SIZE):
            pass

我第一次在一个 700MB 的文件上运行这个函数用了 19 秒。 当我重复
再次读取同一个文件所花费的时间下降到 0.5 秒。
我用很多文件重复了这个,结果是相似的。
这是怎么回事?

最佳答案

操作系统caches第一次读取时是内存中的文件,第二次是从内存中读取而不是从硬盘中读取。当然内存要快得多。

关于python - 为什么再次读取文件读取速度更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4449473/

相关文章:

python - Pygame - 预览图片

linux - 是否有任何脚本/工具可以从 apache 访问日志文件测量 tps?

linux - 腻子 : Execute a shell script onto the host machine

java - 将文件转换为字符串

java - 如何使 Java Process Builder 将输出 append 到输出文件?

python - 在 Jupyter/pandas 中显示 2 位小数,并使用逗号分隔千位?

python - 使用矩阵乘法的 numpy 模板匹配

python - 在 python/pandas 中将年/月转换为年/月/日

linux - 在 bash 中使用带有 cp 的变量

java.io.FileNotFoundException(尝试反序列化)