위키득계정 ↗
기술

Cachegrind

Cachegrind기술
소속
Valgrind
분류
추적 기반 프로파일러
주요 지표
실행된 명령 수
추가 기능
캐시와 분기 시뮬레이션
Cachegrind는 Valgrind의 정밀 실행 추적 프로파일러다. 명령 실행 수와 소스 위치를 연결하고 실행 간 결과를 비교해 작은 코드 변화의 영향을 분석한다.

명령 수의 관점

실제로 실행한 명령 수를 파일과 함수, 소스 행 수준으로 보여 준다. 실행 시간을 표본으로 추정하는 프로파일러와 다른 지표다. 같은 입력에서 작은 차이를 비교하기 쉽지만 명령 수가 적다는 사실이 항상 실행 시간이 짧다는 뜻은 아니다.

병합과 비교

여러 실행의 자료를 합치거나 변경 전후 차이를 볼 수 있다. 비교 목적에 맞는 입력과 빌드 조건을 유지해야 한다. 소스 위치로 해석하려면 대응하는 디버깅 자료가 필요하며 최적화가 위치 대응에 미치는 영향도 고려한다.

시뮬레이션의 한계

캐시와 분기 시뮬레이션 기능은 모델을 바탕으로 한 자료다. 실제 장치의 모든 동작을 그대로 측정한 값과 구분해야 한다. 추적 실행의 비용이 크므로 분석 결과로 후보를 좁힌 뒤 시간 기반 프로파일과 실제 벤치마크로 확인한다.

관련 문서

Callgrind / KCachegrind / LLVM MCA / Samply