可能是一個愚蠢的問題。我注意到在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」'' –