2013-05-24 1 views
6

벤치 마크를 여러 번 실행하여 평균 읽기를 기록합니다. 그러나 첫 번째 실행 후 후속 실행이 더 빠르다는 것을 알았습니다. 프로그램 캐시와 관련이있는 것 같아요. 다음에 프로그램을 실행할 때 벤치 마크에는 이미 캐시에 명령어가 있습니다. 저온 명령과 데이터 캐시 모두에서 프로그램을 시작하는 방법이 있습니까?콜드 캐시를 사용하여 프로그램을 시작하는 방법

+2

디스크 캐시 가능성이 더 높습니까? –

+0

이것은 프로그램과 데이터가 CPU 캐시로 인해가 아니라 디스크에서 읽혀지기 때문일 수 있습니다. – sharptooth

+0

좋은 질문 !! –

답변

4

이것은 정상적인 동작입니다. 이 문제를 피하는 한 가지 방법은 메인 실행 전에 워밍업을 거의하지 않는 것입니다. 이러한 워밍업은 이전에 실행중인 프로그램의 캐시 메모리를 덮어 씁니다. 평균값을 계산하는 동안 워밍업 실행 값을 제외 시키면 실제 실행됩니다. 이러한 벤치 마크 도구를 사용하는 다양한 벤치 마크 도구가 있습니다. kernbench, lmbench 등. 예열 값을 사용할 수있는 곳.

그리고 실행중인 벤치 마크가 디스크에서 읽어야하는 데이터에 따라 다르면 디스크 캐싱에도 약간의 영향이 있습니다. 피할 수있는 한 가지 방법은 가능한 경우 RAM에 캐싱하는 것입니다. 이 기술은 kernbench에서 디스크 캐시 관련 문제를 피하기 위해 사용됩니다.

관련 문제