linux下测试程序运行的时间

有时候在需要在开发板,对不同类类型的定义测试程序的运行时间,特别是在开发板不支持硬浮点只 
有软浮点的情况下, 对具有大量浮点运算的程序来是说是有必要考虑浮点运算运行效率对程序的影响。在


linux系统下,对时间函数和结构的应用主要是在time.h中,可以通过man time.h联机查看其文件中的结


构和函数的用法,示例代码如下
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#include<string.h>
#define _INT


int main(int argc, char *argv[])
{
#ifdef _INT


 int i=0;
 int j=0;
#else
 float i=0.0f;
 float j=0.0f;
#endif
 int conut_1=0, conut_2=0;
 double time_diff;
 time_t time_start;
 time_t time_end;
 time_t nowTime; 
 time_t nowEnd;
 struct tm *timenow;
 struct tm *timeend;
 struct timeval tvstart;
 struct timeval tvend;
 int tm_sec_start;
 int tm_sec_end;
 int sec;


 time(&nowTime);
 timenow = localtime(&nowTime);//获取系统时间
 tm_sec_start=timenow->tm_sec;
 printf("local time is %s\n",asctime(timenow));//输出系统时间
 printf("tm_sec_start=%d\n",tm_sec_start);
 gettimeofday(&tvstart,NULL);
 time_start = clock();
 while(conunt_1 < 100000 )
 { 
 
  for (conut_2; conut_2 < 10000;conut_2++)
  {
   i++;
#ifdef _INT
   j = 2;
#else
   j =10.0f;
#endif
   i=(i * j+ j) / j;
  }
 }


 time_end = clock();
 time_diff = (double)(time_end - time_start)/CLOCKS_PER_SEC; //循环运行的时间
 printf("time_diff=%f\n",time_diff);
 gettimeofday(&tvend,NULL);
 sec =(tvend.tv_sec - tvstart.tv_sec)+(tvend.tv_usec - tvstart.tv_usec)/1000000;
 time(&nowTime);
 timenow = localtime(&nowTime);
 tm_sec_end=timenow->tm_sec;
 printf("local time is end%s\n",asctime(timenow));
 printf("tm_sec_end=%d\n",tm_sec_end);
 printf("sec=%d\n",sec);


 return 0;




}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值