gzip 是否在内存或临时文件中保存任何缓存?

gzip 是否在内存或临时文件中保存任何缓存?

我正在使用 gzip 对使用/不使用虚拟机管理程序的文件压缩进行一些基准测试。我运行的用于测试文件完成所需时间的命令是:

time gzip -c filename.txt > filename.txt.gz

我有点困惑,因为我第一次对新文件运行该命令时,直到我重新启动,时间总是比任何后续测试长约两倍。例如:

1st run: .50 seconds
2nd run: .25 seconds
3rd run: .26 seconds
...

为什么会有这样的时间差异? gzip 将压缩存储在内存中还是其他位置(例如临时文件)中?

谢谢你的帮助!

答案1

虽然gzipLinux 不会缓存文件,但会。任何运行程序不需要的内存都会被用作磁盘缓存,第一次读取后,filename.txt它将被添加到缓存中。因此,只要在此期间没有修改它,随后读取文件就会获得内存中的副本,这可能是加速的原因。

相关内容