一.介绍
linux下为了获取某个程序的执行时间,我们通常使用gettimeofday()函数,此函数声明在sys/time.h文件中,此函数接收两个结构体变量地址,分别为timeval、timezone。
两个结构体声明如下:
struct timeval
{
time_t tv_sec; //秒
long tv_usec; //微秒
};
struct timezone
{
int tz_minuteswest;
int tz_dsttime;
};
二.获取程序执行时间示例程序如下:
#include<stdio.h>
#include<sys/time.h> //使用该文件内的struct timeval结构体获取时间信息
/*获取程序执行时间
**使用gettimeofday()函数获得当前时间
tv_sec:表示秒
tv_usec:表示微秒
*/
int main()
{
struct timeval time_start;
struct timeval time_end;
gettimeofday(&time_start,nullptr);
for(int i=0;i<6553500;i++) //测算执行6553500次循环的时间
gettimeofday(&time_end,nullptr);
double a=(time_end.tv_sec-time_start.tv_sec)*1000+(time_end.tv_usec-time_start.tv_usec)/1000; //转成ms表示
printf("Program process time is %lf(ms)\n",a);