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/