2011-09-30 3 views
1

내 응용 프로그램을 프로파일하는 데 http://valgrind.org/docs/manual/cl-manual.html 을 사용하고 있습니다. 하지만 질문에 대한 가 오/피하지가 callgrind 출력 정보

또는

  1. CPU가 함수 호출
내부 소비가 함수 내에서 소비

  1. 시간을 보여줍니다있어이

    내가 추측하는 것은 입니다. 현재 컬 연결시 90 % 사용량을 보여줍니다. 나는 어느 것이 내가/바운드 프로세스라고 생각한다.

    그래서 저는이 함수 호출 내에서 시간이 많이 소비되고 있다고 생각합니다.

답변

0

명령 수 (CPU 시간의 거친 프록시), 예상 사이클 수 (CPU 시간의 거친 프록시) 또는 다양한 종류의 예상 된 캐시 적중/실패 횟수를 표시 할 수 있습니다.

1

문서에 명시된 valgrind의 callgrind 도구에는 기본적으로 read (Ir) 지침 만 있습니다.

도구 자체는 기능에서 소요되는 시간을 계산하는 데 적합하지 않습니다 (here 참조). 시간과 CPU 사용량을 얻기 위해

내가 -v

그러나 상세 모드에서

는/usr/빈/시간을 유닉스에서 "시간"명령을 실행 선호, 우리는 다른 유틸리티는 얻을 수 있습니다

== 인스트럭션에

캐시 미스 ("I1mr"/ "ILmr")를 판독 doc === 니펫, 데이터 액세스 ("닥터")를 읽어 및 관련 캐시 미스 ("D1mr"/ "DLmr") 데이터 --cache-

의 옵션을 사용하여 액세스를 ("Dw를") 및 관련 캐시 미스 ("D1mw"/ "DLmw")를 작성 심 = 예

또한 그와 같은 실행 조건 분기 및 실행 관련 예측 미스 ("기원전"/ "BCM")의 번호와 같은 다른 유틸리티를 얻을 수 간접 점프 점프 주소 예측기의 관련 미스 ("Bi"/ "Bim")

--branch-sim = yes

마지막으로 callgrind_annotate 유틸리티를 사용하여 원하는 출력 파일을 얻습니다.

==========