gpt4 book ai didi

c - 为什么多次运行同一个程序时执行时间会有所不同?

转载 作者:IT王子 更新时间:2023-10-29 01:03:55 28 4
gpt4 key购买 nike

可能是个愚蠢的问题。我注意到在 Linux 机器上用 C 运行一个简单的 Hello World 程序时执行时间有所不同(尽管它不是特定于语言的)。

程序:

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

int main()
{
clock_t begin, end;
double time_spent;

begin = clock();

printf("%s", "Hello World\n");
end = clock();
time_spent = (double)(end - begin) / CLOCKS_PER_SEC;
printf("%f\n", time_spent);
return 0;
}

对/对:

$ ./hello 
Hello World
0.000061
$ ./hello
Hello World
0.000057
$ ./hello
Hello World
0.000099

这是在平均负载为 0.4 且有足够空闲内存的四核机器上测试的。虽然差异很小,但背后的原因可能是什么?

最佳答案

除非您运行的是实时操作系统,否则您至少会看到运行时间的细微变化。这是由于操作系统调度、当时可能发生的任何 I/O 等。

0.04 毫秒的差异根本不是很大。

如果您的程序在循环中运行至少几秒钟,则应该减少变化的百分比。

关于c - 为什么多次运行同一个程序时执行时间会有所不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37813026/

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