Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.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
Python 为什么再次读取文件会更快?_Python_Linux_File - Fatal编程技术网

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