for 루프를 사용하여 1에서 100까지의 숫자를 인쇄하는 간단한 C++ 프로그램을 작성했습니다. 특정 TLB 히트 및 누락 횟수를 찾고 싶습니다. 실행 중에 프로그램. 이 데이터를 얻을 가능성이 있습니까?우분투에서 TLB 히트 및 TLB 미스를 프로파일 링하는 방법
나는 우분투를 사용하고 있습니다. 내가 perf 도구를 사용했습니다. 그러나 그것은 다른 시간에 다른 결과를 만들어 내고 있습니다. 내 코드가 TLB 히트 수, TLB 누락 및 캐시 누락으로 이어지는 부분은 매우 혼란 스럽습니다.
물론 우분투 GUI처럼 다른 프로세스가 동시에 실행될 수도 있습니다. 그러나이 결과에도 그러한 과정이 포함되어 있습니까? 명령은 내가 사용 :
결과 :
./hellocc 처음으로 .. 909,822 dTLB-loads
2,023 dTLB-misses # 0.22% of all dTLB cache hits
4,512 cache-misses
0.006821182 seconds time elapsed
LB-미스 통계를 규칙적 DTLB -로드 './hellocc'에 대한 dTPerformance 카운터 통계를 -e -e
결과 :
907,810 dTLB-loads
2,045 dTLB-misses # 0.23% of all dTLB cache hits
4,533 cache-misses
0.006780635 seconds time elapsed
내 간단한 코드 :
'./hellocc'에 대한 둘째으로 .. 성능 카운터 통계#include <iostream>
using namespace std;
int main
{
cout << "hello" << "\n";
for(int i=1; i <= 100; i = i + 1)
cout<< i << "\t" ;
return 0;
}
콘솔 출력은 상당히 복잡하므로 느린 코드입니다. 99 + %의 코드가 IO에있을 것입니다. –