동적 스펙트럼을 생성하기 위해 큰 바이너리 파일을 읽는 시간이 중요한 CPython 루틴이 있는데, 이는 파일이 이전에 캐시되지 않은 경우 훨씬 더 느려집니다. 사전 캐싱을 사용하면 vmtouch
첫 번째 파일이 전체 2GB 파일을 캐시하는 데 ~14~16초가 걸리지만 다음 파일은 조금 더 느립니다(~52초 소요).
- 루틴을 처리하려면 2개의 2GB 파일이 필요하므로 이러한 파일을 더 빠르게 사전 캐시할 수 있는 방법이 있습니까?
시스템 세부정보:
휘발성 메모리: 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