#include<sys/time.h>
int gettimeofday(structtimeval*tv,structtimezone*tz);
strut timeval{
longtv_sec;/*秒数*/
longtv_usec;/*微秒数*/
};
gettimeofday将时间保存在结构tv之中.tz一般我们使用NULL来代替.
#include<sys/time.h>
#include<stdio.h>
#include<math.h>
void function()
{
unsigned int i;
unsigned int j;
double y;
int sum;
for(i=0;i<100000;i++)
for(j=0;j<10000;j++)
sum = i + j;
}
int main()
{
struct timeval tpstart,tpend;
float timeuse;
gettimeofday(&tpstart,NULL);
function();
gettimeofday(&tpend,NULL);
timeuse = 1000000 * (tpend.tv_sec - tpstart.tv_sec) + (tpend.tv_usec - tpstart.tv_usec);
timeuse /= 1000000;
printf("UsedTime: = %f s\n", timeuse);
return;
}
也可采用time ./a.out的方式
第二种方法,做成函数调用形式
static long getcurrenttick()
{
long tick ;
struct timeval time_val;
gettimeofday(&time_val , NULL);
tick = time_val.tv_sec * 1000 + time_val.tv_usec / 1000 ;
return tick;
}
int main( )
{
long begin = getcurrenttick();
for( int i = 0 ;i< 100 ;++i ) {
xxxxx
}
fprintf(stdout,"耗时[%d] \n",getcurrenttick() - begin );
}