gpt4 book ai didi

c - 用 C 中以秒为单位的时钟测量执行时间不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:07:17 25 4
gpt4 key购买 nike

我正在尝试在 linux 下使用 clock() 测量 C 中的执行时间:

#include <time.h>
#include <stdio.h>
#include <unistd.h>

int main(int argc, char const* argv[])
{
clock_t begin, end;
begin = clock();
sleep(2);
end = clock();
double spent = ((double)(end-begin)) / CLOCKS_PER_SEC;
printf("%ld %ld, spent: %f\n", begin, end, spent);
return 0;
}

输出是:

1254 1296, spent: 0.000042

文档说将时钟时间除以 CLOCKS_PER_SEC 以获得以秒为单位的执行时间,但这对于 2 秒 sleep 来说似乎很不正确。

有什么问题?

最佳答案

休眠几乎不需要执行时间。该程序只需要安排它的唤醒时间,然后让自己进入休眠状态。当它处于休眠状态时,它不会执行。当它被唤醒时,它根本不需要做任何事情。这一切只需要非常小的几分之一秒。

sleep 时间更长并不需要更多的执行时间。所以程序不执行时有 2 秒的时间这一事实没有影响。

关于c - 用 C 中以秒为单位的时钟测量执行时间不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37272747/

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