【发布时间】:2013-09-14 09:06:06
【问题描述】:
我正在使用 timeval 和 clock() 函数来查看我的 c 程序中 2 个操作之间的时间差。不知何故,timeval 似乎给了我正确的经过时间(以毫秒为单位),而 clock() 给出的值非常少。
g_time = clock();
gettimeofday(&decode_t,NULL);
一段时间后
delay =((float)(clock()-g_time)/(float)CLOCKS_PER_SEC);
gettimeofday(&poll_t,NULL);
delay1 = ((poll_t.tv_sec - decode_t.tv_sec)*1000 + (poll_t.tv_usec - decode_t.tv_usec)/1000.0) ;
printf("\ndelay1: %f delay: %f ",delay1,delay);
通常的输出是:
延迟1:1577.603027 延迟:0.800000
delay1 以毫秒为单位,延迟以秒为单位。
我使用的是 64 位的 archlinux。我不明白为什么会这样。
【问题讨论】: