clock()/CLOCKS_PER_SEC函数计算程序运行时间

clock()/CLOCKS_PER_SEC函数计算程序运行时间

clock()函数计算程序运行时间,那么为什么要除以CLOCKS_PER_SEC呢?
答案1.这是因为clock()是以毫秒为单位,要正确输出时间差需要把它换成秒,因此需要除以CLOCKS_PER_SEC。   clock()函数计算出来的是硬件滴答的数目,不是毫秒。在TC2.0中硬件每18.2个滴答是一秒,在VC++6.0中硬件每1000个滴答是一秒。
答案2.
clock函数返回进程运行时间,但是这个运行时间单位不是秒,而是CPU运行的时钟周期计数。
所以要得到消耗的时间(秒),需要除以CPU时钟频率,也就是CLOCKS_PER_SEC.以得到一个以秒为单位的数值。
至于CLOCKS_PER_SEC是什么?
答案:
一秒钟有几个嘀嗒的意思。它是宏定义常量。
调用 time.h 里的clock() 返回的数就是从程序开始运行起 总计的 嘀嗒嘀嗒嘀嗒 的个数。除以CLOCKS_PER_SEC,就得到时间 秒数。
例子:
运行结果:

计算代码或函数运行时间:

 

One Reply to “clock()/CLOCKS_PER_SEC函数计算程序运行时间”