급히 질문있어요. 시간함수 CPU time에 대하여..
글쓴이: 익명 사용자 / 작성시간: 금, 2001/12/07 - 3:25오후
이 함수가 급히 필요한데 이상하게 man page에도.. A book on C 에두..
kldp.org의 문서에두... 없네요.. (제가 못찾는 것인가..?)
아무튼..
제가 원하는것은 시간을 측정하려고 하는데.. 걸린시간을..
그런데 이게 실제시간 1초 단위로만 측정이 되거든요.
1/100 초라던가.. 1/10000초단위.. 또는 1/1000000...
뭐 그렇게 측정을 하려고 하는데..
그럴려면 CPU time을 측정해야 할꺼 같은데..
도대체 함수를 알 수가 없어요.
제발 아시는분 있으시면 가르쳐 주세요~~~~~~~~
급히 필요해요..
Forums:
Re: 급히 질문있어요. 시간함수 CPU time에 대하여..
#include
clock_t start, end;
double cpu_time_used;
start = clock();
end = clock();
cpu_time_used = ((double) (end - start)) / CLOCKS_PER_SEC;
이렇게 해보세요..~~~~
Re: 급히 질문있어요. 시간함수 CPU time에 대하여..
gettimeofday()를 사용하십시요..
1/1000000 단위 까지 알수 있습니다.
[code:1]#include <time.h>clo
여기서 cpu_time_used는 소숫점의 초단위 인가요?
man clock 하면, 아래와 같이 나옵니다. The clock()
man clock 하면, 아래와 같이 나옵니다.
The clock() function returns an approximation of processor time used by the program.
이것은,, clock 은 CPU 의 tick 카운트를 알려주는데,
요즘 사용하는 CPU 가 300MHz 라면,
초당 300,000,000 의 tick 이 발생을 하겠죠,,
구런데, long 에 저장할수 있는 크기가 4,294,967,295 이므로,
약 14.3 초가 지나면, long 변수는 Overflow 가되어 Reset 됩니다.
즉, 약 14.3초 보다 오래걸리는 시간차이는 측정이 불가능하겠죠.. -_-;
구러므로, gettimeofday 를 사용하세요..
댓글 달기