우분투 12.04에서 CPU 시간 측정에 관한 질문이 있습니다.우분투에서 CPU 시간을 얻고 싶습니까?
일부 루프에서는 CPU 시간을 정지 조건으로 사용하고 싶습니다. 가장 좋은 방법은 무엇입니까? 나는 시간의 해상도에 대해 너무 많이 걱정하지 않는 경우
while(....)
{
//main part
// get CPUTIME
if(CPUTIME>= Given_Time)
{
break;
}
}
1) 나는 clock()
를 사용할 수 있습니다.
time_t begin=clock();
....
time_t end=clock();
CPUTIME=(double)(end-begin)/(double)(CLOCKS_PER_SEC);
그러나,
time_t
많은 수 오버 플로우, 실행 시간 이후 (시간 이상) 길이 될 수있다. 이 문제를 어떻게 해결할 수 있습니까?
2) 두 번째 옵션 사용 getrusage(int who, struct rusage *usage)
루프에서이 함수를 호출하는 데 비용이 많이 드나요?
3) 세 번째 옵션은 int clock_gettime(clockid_t clk_id, struct timespect *tp)
입니다. 지금까지는 제 선택의 여지가 있습니다.
의견이나 제안이 도움이 될 것입니다.
감사합니다. 나는 clock_gettime()을 시도했다. 잘 작동한다. – user1460060