C_clock()测试代码(循环)运行时间
clock() 传送门(百度百科)
clock()是C/C++中的计时函数,而与其相关的数据类型是clock_t。在MSDN中,查得对clock函数定义如下:
clock_t clock(void) ;
简单而言,就是该程序从启动到函数调用占用CPU的时间。这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock);若挂钟时间不可取,则返回-1。其中clock_t是用来保存时间的数据类型
宏CLOCKS_PER_SEC适用于将计算系统时间类型转换为用户可读的秒时间,包含于头文件ctime(或time.h)中
#include<stdio.h> #include<stdlib.h> #include<time.h> //测试for循环时间 void delay(unsigned int t) { unsigned int i,j; for(i=0;i<t;i++) for(j=0;j<t;j++) ; } int main( ) { clock_t start, finish; double Text_time; start = clock(); delay(1000); finish = clock(); Text_time = (double)(finish-start) / CLOCKS_PER_SEC; printf("%lf seconds/n", Text_time); return 0; }
100万次循环测试出0.002秒
在测试for循环和while循环时有时会出现稍许误差,误差出现和当前系统可用CPU空闲率有关
(如需转载学习,请标明出处)