预缓存大文件

预缓存大文件

我有一个时间紧迫的 CPython 例程,它读取大型二进制文件以生成动态频谱,如果文件之前没有缓存,则速度会更慢。当我使用vmtouch预缓存时,第一个文件需要约 14-16 秒来缓存完整的 2 GB 文件,但下一个文件的速度会慢一些(需要约 52 秒)。

  1. 由于例程需要两个 2 GB 文件进行处理,是否有任何方法可以更快地预缓存这些文件?

系统详细信息:

易失性内存:16GB
Ubuntu 版本:18.04.5 LTS

第一个文件vmtouch输出

vmtouch -vt First_Large_binary.bin
[OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO] 512000/512000

Files: 1
Directories: 0
Touched Pages: 512000 (1G)
Elapsed: 14.896 seconds

第二个文件vmtouch输出

vmtouch -vt Second_Large_binary.bin
[OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO] 512000/512000

Files: 1
Directories: 0
Touched Pages: 512000 (1G)
Elapsed: 52.126 seconds

相关内容