Chinaunix首页 | 论坛 | 博客
  • 博客访问: 570332
  • 博文数量: 826
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5015
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-22 18:09
文章分类

全部博文(826)

文章存档

2011年(1)

2008年(825)

我的朋友

分类: LINUX

2008-08-22 18:15:12

 
1.以下是我在网上看到的:


有时候我们要计算程序执行的时间.比如我们要对算法进行时间分析

..这个时候可以使用下面这个函数.




#include
intgettimeofday(structtimeval*tv,structtimezone*tz);
struttimeval{
longtv_sec;/*秒数*/
longtv_usec;/*微秒数*/
};
gettimeofday将时间保存在结构tv之中.tz一般我们使用NULL来代替.
#include#include#includevoidfunction()
{
unsignedinti,j;
doubley;
for(i=0;i<1000;i )
for(j=0;j<1000;j )
y=sin((double)i);
}
main()
{
structtimevaltpstart,tpend;
floattimeuse;
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\n",timeuse);
exit(0);
}


这个程序输出函数的执行时间,我们可以使用这个来进行系统性能的测试,或者是函数算

法的效率分析.在我机器上的一个输出结果是:UsedTime:0.556070


2.第二种是我自己经常用的,就是:

在执行程序前,加time,如:输入time./abc

阅读(415) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~