예를 들어, 나는 몇 가지 기능 foo
을하고 난 다음 형식으로의 경과 시간을 얻으려면 :밀리 초 및 마이크로 초의 정확도로 POSIX에서 경과 시간을 측정하는 가장 좋은 방법은 무엇입니까?
1 seconds 101 milliseeconds 31 microseconds
또는 지금 내가이 문제를 해결하기 위해 다음 코드를 사용
0 seconds 91 milliseeconds 101 microseconds
:
static struct timeval t1, t2;
gettimeofday(&t1, NULL);
foo();
gettimeofday(&t2, NULL);
unsigned long long t = 1000 * (t2.tv_sec - t1.tv_sec) + (t2.tv_usec - t1.tv_usec)/1000;
printf("elapsed time %llu ms\n", t);
인터넷에서이 수식을 가져 와서 완전히 이해하지 못했습니다. 왜 내가 1000 배로 (t2.tv_sec - t1.tv_sec)
곱해야합니까? 밀리 초 및 마이크로 초의 정확도로 POSIX에서 경과 시간을 측정하는 가장 좋은 방법은 무엇입니까?