为什么c++用clock处理时间的时候,runtime是0,开始和结束的时间相同?

来源:百度知道 编辑:UC知道 时间:2024/05/13 15:47:22
//开头定义
clock_t start = clock();
clock_t stop;
//.......
//中间过程
//.....
//结尾处
stop = clock();

double runtime = double(stop - start);//就是运行时间,单位ms
runtime=0;

很有可能,现在CPU处理速度都是GHz,那就是说指令周期都是纳秒级的,如果你的中间过程,不是很大量的运算很可以用不到1ms.

要知道1ms=1000000ns

一般测试的程序,我们都是用 for 来个百万次循环测试的,可能你的中间过程代码太少,所以执行时间小于了最低精度了。