Gprof
프로그램의 프로파일링을 통하여 프로그램의 어느 부분에서 가장 많은 실행 시간을 소비되고 있는 지에 대한 정보 및 프로그램 내에 있는 함수들간의 호출 관계에 대한 정보를 알 수가 있다. 이러한 정보는 프로그래머에게 프로그램의 어느 부분이 예상보다 느리게 수행되는 지에 대한 분석 정보를 제공하므로, 프로그램이 좀더 빨리 수행되게 하려면 어느 부분을 수정해야 할지에 대한 가이드 라인을 제공한다. 또한 이러한 프로파일링 정보는 어떤 함수가 생각한 것보다 더 많이 또는 더 적게 수행되는지를 알려줄 수도 있으며, 프로파일링을 하지 않은 경우에 지나쳤을 지도 모를 버그를 발견하는데 도움을 줄 수도 있다.
프로파일러는 프로그램의 실제 실행을 통하여 얻어진 정보를 사용하기 때문에, 소스 코드를 눈으로 보고 분석하기에는 벅찬 복잡한 프로그램이나 대형 프로그램에 사용할 수 있다. 그러나, 프로그램이 어떻게 실행되냐에 따라 프로파일 데이터에 나타나는 정보가 달라질 수도 있다. 즉, 프로파일하고자 하는 프로그램의 특정 기능이 프로파일링 과정중에 사용되지 않는다면, 해당 기능에 대한 프로파일 정보를 분석할 수가 없게 된다.
Example
gcc에 -pg
옵션을 추가하여 컴파일 해야 한다.
See also
Favorite site
References
-
Isilab.kaist.ac.kr-gprof_ko_manual.zip ↩