gprof 사용해 보신 분 있나요?
글쓴이: khk / 작성시간: 목, 2003/05/29 - 2:41오후
1 #include <stdio.h> 2 3 void f1() { 4 int i; 5 for (i=0; i<10000; i++) 6 printf("This is f1()\n"); 7 } 8 9 void f2() { 10 int i; 11 for (i=0; i<10000; i++) 12 printf("This is f2()\n"); 13 } 14 15 void f3() { 16 int i; 17 for (i=0; i<10000; i++) 18 printf("This is f3()\n"); 19 } 20 21 int main() { 22 int i; 23 for (i=0; i<10000; i++) 24 printf("This is main()\n"); 25 26 f1(); 27 f2(); 28 f3(); 29 30 exit(0); 31 } 32
컴파일 옵션은 -g -pg 주었구요
gprof test > result 로 프로파일 데이타를 뽑았는데 (별도 옵션 안주고..)
이상하게도 function의 수행시간이 모두 0으로 표시가 됩니다.
문장을 10,000번씩이나 찍는데 모두 0.00 sec 일리는 없는데 이상하네요...
검색을 해보니 저와 같은 문제의 분이 한 분 계셨던 것 같은데 답변이 없었네요...
혹시 아시는 분 답변 부탁드립니다..
Forums:
질문하신 gprof를 써보지는 않았지만... 인터넷에서 검색하니까 한글
질문하신 gprof를 써보지는 않았지만... 인터넷에서 검색하니까 한글 man page인듯.. 설명이 잘되어 있네요...
http://www.kimseoyoung.com/AIX/Aix/Manual/usr/share/man/info/ko_KR/a_doc_lib/cmds/aixcmds2/gprof.htm
도움되시길...
제가 얼핏 보기엔 그정도는 0.00 초안에 실행 될 가능성이 있는듯
제가 얼핏 보기엔 그정도는 0.00 초안에 실행 될 가능성이 있는듯
합니다만 물론 다른 문제 일수도 있으나 지나가다 얼핏 본거와..
제 지난 기억을 얼핏 더듬어 보면.. 0.00 초안에 실행 될 가능성이
다분합니다.. 한번 체크해보시길..
흠 다시 보니 printf문이 있는데 stdout은 상관 없고 흠냥?
애매하네용.. 하여간 제 지난 기억으론 0.00초 안에 실행됬던걸로
기억합니다.. printf문이 있어서 좀 애매함 -_-;;
정확한건.. usec단위로 체크해보시길..
참조할만한 글이 아닌것같자나 -_-;; 지송..
' 형식이 내용을 규정한다. '
더 많은 시간이 걸리는 것도...
더 많은 시간이 걸리는 것도...
모두 0.00 sec로 나와버립니다.
위에서 for를 1만번이 아니라 100만번 돌려도 0.00sec로 나옵니다 ㅡ.ㅡ;;
뭐가 문제일까요....
printf 함수와 같은 외부 함수를 호출하는 대신에...f1, f2
printf 함수와 같은 외부 함수를 호출하는 대신에...
f1, f2, f3 함수 내부에서 심한 연산을 하도록 해서 결과를 찍어 보세요.
self seconds나 self ms/call에는 f1, f2, f3에서 호출한 함수에서
소요한 시간은 포함되지 않고 순수하게 f1, f2, f3에서 사용한 시간만을
계산해서 보여주거든요.
거의 0으로 보이는 것도 이것 때문일 거 같은데요.
어찌나 졸린지..~~
아 그렇군요. 님의 말씀처럼 함수내에서 다른 함수를 부르면그 시간은
아 그렇군요. 님의 말씀처럼 함수내에서 다른 함수를 부르면
그 시간은 빼고 측정을 하게 되어 있나보네요.
user defined function이 아니라 std library function이라도 그런가 봅니다.
printf 대신에 연산을 넣으니 제대로 결과가 나오는 것 같습니다.
답변해 주신 모든 분들께 감사드립니다.
댓글 달기