위키득계정 ↗
기술

Gprof

Gprof기술
소속
GNU Binutils
분류
실행 프로파일 분석
표현 예
함수별 요약과 호출 그래프
입력
프로파일을 위한 실행 자료
Gprof는 GNU의 프로그램 실행 프로파일 분석 도구다. 실행 중 수집한 자료로 함수별 시간과 호출 관계를 살펴보고 최적화할 부분을 찾는 데 활용한다.

준비와 실행

프로파일링을 활성화해 컴파일하고 링크한 뒤 프로그램을 실행해 자료를 만든다. 이후 Gprof로 해당 자료를 분석한다. 소스 코드만으로 모든 비용을 예측하는 도구가 아니므로 실제 실행한 입력과 사용한 기능이 결과에 직접 영향을 준다.

함수와 호출 관계

함수별 요약에서는 각 함수의 시간과 호출 횟수 등을 살펴볼 수 있다. 호출 그래프는 누가 누구를 호출했는지와 하위 호출의 비용을 이해하는 데 도움을 준다. 함수 자체의 시간과 호출한 함수까지 포함한 비용을 구분한다.

추정과 검사 범위

시간 표본과 하위 함수 비용 추정에는 오차와 가정이 있다. 짧게 실행한 작업의 작은 차이를 확정적인 성능 차이로 보지 않는다. 실행하지 않은 기능의 비용은 자료에 나타나지 않으므로 대표적인 작업 부하를 선택해 변경 전후를 비교한다.

관련 문서

Gprofng / Samply / Cachegrind / pprof