C 库函数 clock_t clock(void) 返回程序执行起(一般为程序的开头),处理器时钟所使用的时间。为了获取 CPU
所使用的秒数,您需要除以 CLOCKS_PER_SEC。 在 32 位系统中,CLOCKS_PER_SEC 等于
1000000,该函数大约每 72 分钟会返回相同的值。
如果你想要更改CLOCKS_PER_SEC的值,使得输出结果大点,可不可以呢?答案是不可以的,因为在c/c++标准中的最小计时单位是ms。
这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clocktick)数,在MSDN中称之为挂钟时间(wal-clock);若挂钟时间不可取,则返回-1。其中clock_t是用来保存时间的数据类型。
实践:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
long i = 10000000L;
clock_t start, finish;
double duration;
/* 测量一个事件持续的时间*/
printf( "Time to do %ld empty loops is ", i) ;
start = clock();
while( i-- );
finish = clock();
duration = (double)(finish - start) / CLOCKS_PER_SEC;
printf( "%f seconds
", duration );
system("pause");
}
运行结果:
这个是在我的机器运行的结果,每个人的机器处理能力不同,自然结果也是不一样的。