星期四, 10月 09, 2008

利用 gettimeofday抓 us 級 時間差


#include <sys/time.h>
#include <stdio.h>
int main(){
struct timeval tv, tv2;
unsigned long long start_utime, end_utime;
gettimeofday(&tv,NULL);
start_utime = tv.tv_sec * 1000000 + tv.tv_usec;

usleep(1000);
gettimeofday(&tv2,NULL);
end_utime = tv2.tv_sec * 1000000 + tv2.tv_usec;

printf(" runtime = %llu\n", end_utime - start_utime );
}


For Cyril:

這個可以抓到 us 級.. 不過精度的話我不確定,要再查Kernel 是怎麼運作.原則上是10 - 30ms , 要看kernel jiffes 的值. 不過低於 這個值得話應該就是軟體精度問題.
不過平常我是類似這樣用的

沒有留言: