各位看官们,大家好,上一回中咱们说的是巧用溢出计算最值的例子,这一回咱们说的例子是:测试程序
运行时间。闲话休提,言归正转。让我们一起talk C栗子吧!
看官们,在编写程序的时候,可能需要计算程序运行的时间。通过计算时间,可以查看程序的性能。其实
我们在第三十一回中对各种常用排序算法总结时也使用过这种方法,不过当时使用的是Linux提供的time
命令。如果大家忘记了第三十一回的内容,可以点击这里查看。
我们今天说的测试程序运行时间,是让程序自己测试运行时间,而不是像第三十一回中哪样借用其它工具
测试程序运行时间。要想让程序自己测试运行时间,我们需要使用C语言自的库函数:clock().因此,我们
首先介绍一下这个clock函数。
clock函数是C语言标准库中的函数,其声明位于time.h文件中,因此如果想使用该函数的话,需要在程
序中包含time.h头文件。clock函数返回从程序开始运行到调用该函数时CPU运行的时间,它返回的时间
以毫秒为单位,我们通常会把返回时间除以一个常量:CLOCKS_PER_SEC,这样可以提取到以秒为单位的
时间。常量:CLOCKS_PER_SEC定义在time.h文件中,大小为1000。不过我们不需要关心它的细节,只需
要包含time.h文件,就可以直接拿来使用了。它返回的类型为clock_t,我们通常把它转换为double类
型,这样可以得到更加精确的时间。
测试程序运行时间的原理比较简单:我们在程序运行前设置一个开始时间,在程序运行完后设置一个结束
时间,使用结束时间减去开始时间就是程序运行的时间。这点和奥运会中短跑比赛类似,指令枪响起就开
始计时,运动员通过终点后停止计时,这段时间差就是运动员的短跑成绩,当然了奥运会中使用的是秒表
或者更加精确的计时工具。下面是我对上一回的例子“计算最值的程序”进行测试后的结果:
the min value of int is:-2147483648
the max value of int is:2147483647
the running time is:7.76 //计算最值的程序运行7.76秒
看官们,正文中就不写代码了,详细的代码放到了我的资源中,大家可以点击这里下载使用。大家掌握了
测试程序运行时间的方法后,就可以对前面章回中我们说过的排序算法进行测试,这样就可以观察到各种
排序算法的运行时间,进而可以比较排序算法的性能。
各位看官,关于测试程序运行时间的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解。
版权声明:本文为博主原创文章,未经博主允许不得转载。
一起talk C栗子吧(第三十五回:C语言实例--测试程序运行时间)
原文地址:http://blog.csdn.net/talk_8/article/details/47619199