编写完程序,都要测试程序的性能以便进一步优化。表征程序性能的一个主要的指标就是程序的执行时间,对于有些程序,执行的时间很短,也许就几秒,或许就几毫秒,这就需要精确地测量时间的方法,在Linux中已经准备好了这些工具,其中最简洁的一个方法就是采用gettimeofday函数可以达到这个目的 。
其中t_start.tv_sec是公元1970年至今的时间(换算为秒)t_start.tv_usec是当前秒数下的微妙数 。
引用
#include <stdio.h>
#include <sys/time.h>
#include <time.h>
int gettimeofday(struct timeval *tv, struct timezone *tz);
int main(int argc,char * argv[])
{
struct timeval t_start,t_end;
//get start time
gettimeofday(&t_start, NULL);
long start = ((long)t_start.tv_sec)*1000+(long)t_start.tv_usec/1000;
printf("Start time: %ld ms\n", start);
return 0;
}
根据秒数,在Linux系统中可以采用data命令转化成以年月日显示的时间。
把秒数转换成标准时间格式
$ date -d '1970-1-1 0:0:0 GMT + 1233631748 seconds'
Tue Feb 3 11:29:08 CST 2009