Python 为什么再次读取文件会更快?
Python 为什么再次读取文件会更快?,python,linux,file,Python,Linux,File,SIZE=1第一次读取时,操作系统会将文件存储在内存中,第二次从内存而不是硬盘中读取。当然,内存要快得多。您的操作系统正在缓存文件 什么?这意味着,当您第一次读取文件时,您的程序必须在硬盘中查找信息,而硬盘驱动器很慢 现在,在第一次读取了整个文件之后,Linux将其保存在内存中以防万一,可能是因为当时没有什么重要的东西可以替代。所以,当你第二次读它的时候,你正在访问内存中的副本,而没有触及硬盘,这要快几个数量级 干杯 如果它存储在ram中,为什么不显示在内存使用中。@simha在linux上使用
SIZE=1第一次读取时,操作系统会将文件存储在内存中,第二次从内存而不是硬盘中读取。当然,内存要快得多。您的操作系统正在缓存文件
什么?这意味着,当您第一次读取文件时,您的程序必须在硬盘中查找信息,而硬盘驱动器很慢
现在,在第一次读取了整个文件之后,Linux将其保存在内存中以防万一,可能是因为当时没有什么重要的东西可以替代。所以,当你第二次读它的时候,你正在访问内存中的副本,而没有触及硬盘,这要快几个数量级
干杯 如果它存储在ram中,为什么不显示在内存使用中。@simha在linux上使用“free”命令。它将显示缓存使用的内存,只需询问。。。有没有一种方法可以让系统在读取文件之前缓存该文件?…..@simha:最简单的方法是读取一次,而不保存结果。@simha:内存没有被任何特定进程使用;内核只是把东西放在那里,直到它需要内存来做“更重要的事情”。
SIZE = 1<<16
def justread(file):
with open(file, 'rb') as f:
while f.read(SIZE):
pass