Linux获取毫秒级时间函数

Moakapspa

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

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

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

struct timeval {get

time_t      tv_sec;     /* seconds */io

suseconds_t tv_usec;    /* microseconds */class

};软件

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

Logo

更多推荐