File io 为什么多次读取文件的时间会有所不同?

File io 为什么多次读取文件的时间会有所不同?,file-io,random-access,variation,File Io,Random Access,Variation,这也许是一个很明显的问题,因为计算机科学的规则很简单,但有没有一个很好的解释为什么它会随着时间的推移而变化如此之大?读取一个小文件有时需要几毫秒,有时需要几秒钟。当然,这取决于您如何读取文件,以及您使用何种语言(即编程语言)读取文件 也许没有一个明确的答案?我不确定,我没有读过太多关于它的内容,所以我要问这个问题。导致读取时间变化的一个原因是文件是否在内存中 磁盘的读取速度比内存慢得多。因此,如果一个文件已被读取并放入内存中,那么以后从该文件中读取会快得多,直到它被从内存中踢出。有很多因素。如果

这也许是一个很明显的问题,因为计算机科学的规则很简单,但有没有一个很好的解释为什么它会随着时间的推移而变化如此之大?读取一个小文件有时需要几毫秒,有时需要几秒钟。当然,这取决于您如何读取文件,以及您使用何种语言(即编程语言)读取文件


也许没有一个明确的答案?我不确定,我没有读过太多关于它的内容,所以我要问这个问题。

导致读取时间变化的一个原因是文件是否在内存中


磁盘的读取速度比内存慢得多。因此,如果一个文件已被读取并放入内存中,那么以后从该文件中读取会快得多,直到它被从内存中踢出。

有很多因素。如果磁盘旋转,速度会更快。如果文件最近被读取,它可能会被缓存。如果您的系统需要从pagefile中交换某些内容,则会延迟加载。等等,等等。我明白了,这很明显。但是对于已经存在于内存中的文件,为什么它们在读取时间上会发生变化呢?