Jas*_* Yu 6 c posix clock cpu-cycles
真实的CPU频率和C语言中的clock_t(单位是时钟节拍)之间有什么关系?
假设我有下面一段 C 代码,它测量 CPU 运行循环所消耗的时间for。
但由于 CLOCKS_PER_SEC 在 C 标准库中是一个常量值(基本上是 1000,000),我想知道该clock函数如何测量程序在具有不同 CPU 频率的不同计算机上运行时所消耗的实际 CPU 周期(对于我来说)笔记本电脑,它是 2.6GHz)。
如果它们不相关,CPU 计时器在上述场景中如何工作?
#include <time.h>
#include <stdio.h>
int main(void) {
clock_t start_time = clock();
for(int i = 0; i < 10000; i++) {}
clock_t end_time = clock();
printf("%fs\n", (double)(end_time - start_time) / CLOCKS_PER_SEC);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
602 次 |
| 最近记录: |