【发布时间】:2010-11-24 16:39:50
【问题描述】:
测量经过时间的常用方法是:
const clock_t START = clock();
// ...
const clock_t END = clock();
double T_ELAPSED = (double)(END - START) / CLOCKS_PER_SEC;
我知道这不是测量实时的最佳方法,但我想知道它是否适用于具有可变频率 CPU 的系统。是不是错了?
【问题讨论】:
-
大概,CLOCKS_PER_SEC 在头文件中定义为常量值。如果该值表示的基础参数可以更改并且您没有相应地更改常量,那么,不,您的经过时间测量将不正确。
-
如果您正在进行基准测试,那么最好将 CPU 频率调节器设置为“性能”,至少暂时如此,这样您就可以获得准确的测量结果,不受时钟速度变化的影响。
标签: c cpu clock frequency elapsed