写了一个linux下统计程序耗时的代码,发现linux下和windows下还有些不同,写篇记录下。
(1)time.h和sys/time.h的区别
time.h是ISO C99标准日期头文件,而sys/time.h是linux系统日期时间头文件。
(2)linux下的sleep()参数是秒为单位,而windows下是以毫秒为单位。
(3)linux下的clock()返回微秒us,而windows下返回毫秒ms
(4)使用clock(),linux和windows平台下要注意了,clock()是计算cpu的时间。
linux下的一个统计程序耗时:
#include <stdio.h>
#include <sys/time.h>
#include <time.h>
int main(int argc,char** argv)
{
struct timevaltvpre,tvafter;
gettimeofday(&tvpre,NULL);
sleep(3);
gettimeofday(&tvafter,NULL);
printf("lasttime:%d ms\n",(int)((tvafter.tv_sec-tvpre.tv_sec)*1000+(tvafter.tv_usec-
tvpre.tv_usec)/1000));
return 0;
}