#include <stdio.h> #include <time.h> int main (void) { clock_t time; time = clock(); return 0; }
cpu duration을 측정해서 출력하는데 자꾸 0이 나오는겁니다. 그래서 저 코드를 gdb로 돌려서 time을 봤더니 0이네요 ? 원인이 뭔가요
이유가 뭘까요..뭔가 한일이 없는게 아닐까요? loop 를 돌려서 cpu를 사용해 보세요.
#include <stdio.h> #include <time.h> int main (void) { clock_t time; int i; for(i=0;i<INT_MAX;i++) ; time = clock(); printf("incremented %d times in %d CPU time\n", i, time); return 0; }
컴퓨터가 느리니 이것도 생각보다 오래 걸리는군요.
clock()은 프로세스가 시작한 시점을 0으로 합니다. main()을 시작하자마자 clock()을 호출했으니 0이 되는 것이죠. 정확히 0은 아니겠지만 타이머의 정밀도로는 구별할 수 없을 겁니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
이유가 뭘까요..뭔가 한일이 없는게 아닐까요? loop 를 돌려서 cpu
이유가 뭘까요..뭔가 한일이 없는게 아닐까요? loop 를 돌려서 cpu를 사용해 보세요.
컴퓨터가 느리니 이것도 생각보다 오래 걸리는군요.
clock()은 프로세스가 시작한 시점을 0으로 합니다. main()을
clock()은 프로세스가 시작한 시점을 0으로 합니다. main()을 시작하자마자
clock()을 호출했으니 0이 되는 것이죠. 정확히 0은 아니겠지만 타이머의
정밀도로는 구별할 수 없을 겁니다.
댓글 달기