c - 当 CPU 频率可变时,基于时钟的计时是否可靠?

标签 c cpu clock frequency elapsed

测量耗时的常用方法是:

const clock_t START = clock();
// ...
const clock_t END = clock();
double T_ELAPSED = (double)(END - START) / CLOCKS_PER_SEC;

我知道这不是测量实时的最佳方法,但我想知道它是否适用于具有变频 CPU 的系统。只是错了吗?

最佳答案

有一些系统架构可以改变 CPU 的频率,但有一个单独的恒定频率来驱动系统时钟。人们会认为 clock() 函数会返回一个独立于 CPU 频率的时间,但这必须在代码打算运行的每个系统上进行验证。

关于c - 当 CPU 频率可变时,基于时钟的计时是否可靠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4269204/

相关文章:

c - 谁检测拼写错误的函数名称?编译器还是链接器?

optimization - 为什么CPU分支指令比较慢?

android - 如何从 Linux 内核中找到处理核心的频率和利用率?

c - 如何扩展C程序以获得所有核心的CPU使用率

python - 更新Python程序中的时钟而不创建新行

c - 套接字编程 : recv()

c++ - 能不能动态创建一个进程,维护一个进程池呢?

Verilog:如何将输入信号延迟一个时钟周期?

c - sysconf(_SC_CLK_TCK) 与 CLOCKS_PER_SEC

c - 俄罗斯农民乘法