gpt4 book ai didi

c - 在 C 中测量时间

转载 作者:太空狗 更新时间:2023-10-29 16:31:40 26 4
gpt4 key购买 nike

我正在尝试测量 C 中的一些事件(矩阵乘法)并注意到我应该做这样的事情:

clock_t start = clock();
sleep(3);
clock_t end = clock();
double elapsed_time = (end - start)/(double)CLOCKS_PER_SEC;
printf("Elapsed time: %.2f.\n", elapsed_time);

输出是:

Elapsed time: 0.00.

为什么会这样?

最佳答案

clock 估计程序使用的 CPU 时间;那是 CPU 一直忙于执行属于您的程序的指令的时间。 sleep 不执行任何工作,因此它不会占用明显的 CPU 时间(即使它需要挂钟时间)。

如果你想测量挂钟时间,使用time:

time_t start = time(NULL);
sleep(3);
printf("%.2f\n", (double)(time(NULL) - start));

将打印出接近三的数字。

关于c - 在 C 中测量时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13156031/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com