C语言中如何计算一段程序的运行时间
如何计算一段程序的运行时间,这是大家所需要的一个功能。而 C语言提供了一个名为clock()的函数。
clock():捕捉该程序从启动到函数调用占用CPU的时间。单位为clock tick。
常数CLK_TIK:机器时钟每秒钟所走的时钟打点数。
#include<stdio.h>
#include<time.h>
clock_t start, stop;
/*clock_t是clock()函数返回的变量类型*/
double duration;
/*记录被测函数运行的时间*/
int main()
{
/*不在测试范围内的准备工作写在clock()调用之前*/
start = clock(); /*开始计时*/
MyFunction(); /*把被测函数放在这里*/
stop = clock(); /*停止计时*/
duration = ((double)(stop - start)) / CLK_TCK;
/*计算运行时间*/
/*其他不在测试范围的写在后面*/
return 0;
}
PS:如果运行时间太短,程序捕捉不到(不够一个CLK-TIK),可以让程序多跑几次,比如几万或几十万次,得出时长再除以次数。这样就可以得出单次时长。