感谢支持
我们一直在努力

Linux获取毫秒级时间

在软件设计中经常会用到关于时间的处理,用来计算语句、函数的执行时间,这时就需要精确到毫秒甚至是微妙的时间。


int gettimeofday(struct timeval *tv, struct timezone *tz);


int settimeofday(const struct timeval *tv , const struct timezone *tz);


struct timeval {


    time_t      tv_sec;     /* seconds */


    SUSEconds_t tv_usec;    /* microseconds */


};


 


struct timezone {


    int tz_minuteswest;     /* minutes west of Greenwich */


    int tz_dsttime;         /* type of DST correction */


};


 


下面是个简单的例子,用来统计程序的执行时间:


       …


struct timeval t_start,t_end;


    long cost_time = 0;


 


//get start time


gettimeofday(&t_start, NULL);


printf(“Start time: %ld us”, t_start.tv_usec);


 


//some operation



 


//get end time


gettimeofday(&t_end, NULL);


printf(“End time: %ld us”, t_end.tv_usec);


 


//calculate time slot


cost_time = t_end.tv_usec – t_start.tv_usec;


printf(“Cost time: %ld us”, cost_time);



 


输出:


Start time: 438061 us


End time: 459867 us


Cost time: 21806 us

赞(0) 打赏
转载请注明出处:服务器评测 » Linux获取毫秒级时间
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏