可能是一个愚蠢的问题。我注意到在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;
}
O/P:
$ ./hello
Hello World
0.000061
$ ./hello
Hello World
0.000057
$ ./hello
Hello World
0.000099
这是一个四核机上测试用的0.4的平均负载和足够的可用存储器。虽然差别很小,但背后的原因是什么?
该程序的运行时间太短,因此偏差主要是由于“舍入”错误。 – Dummy00001
另外:因为你的消息可能没有在'end = clock()之前输出,所以你应该把''\ n%s“'改成''%s \ n”'' –