以下代碼在代碼塊gcc編譯器中運行。C程序的時間測量爲0
#include <sys/time.h>
#include<stdio.h>
int sumN(int n) {
int i,sum;
for(i=0; i<n; i++) {
sum += i;
}
return sum;
}
int main() {
struct timeval stop, start;
int i;
for(i=0; i<10000;i+=100)
{
gettimeofday(&start, NULL);
sumN(i);
gettimeofday(&stop, NULL);
printf("%d : %lu\n",i, stop.tv_usec - start.tv_usec);
}
return 0;
}
我得到以下輸出。 gettimeofday函數有問題嗎?或者輸出是正確的?我還需要根據函數的多個輸入大小和函數執行所花費的時間來繪製圖形。
,所以該函數將返回隨機值:
使用返回的值,它不會被優化掉。在循環之前添加'sum = 0;'。 –