contributed by < hunng
>
圖中有過多的突起,並且因為這些突起導致其他數據的增益不明顯
clock_gettime(CLOCK_ID, &start);
for (i = 0; i < loop; i++) {
compute_pi_baseline(N);
}
clock_gettime(CLOCK_ID, &end);
可以利用信賴區間來捨棄部份不合理數據(參考自 廖健富)
因為設想未來可能可以在資料分析的狀況使用
設計一個 struct 去實現
typedef struct __SIGMA_NODE {
double stor;
int confide;
struct __SIGMA_NODE *NEXT;
} numb;
多設定一個 confide 是要在 confidenum() 後,認定此數據不具參考性,即忽略此數據
以下為對應的 function
numb *appendnum(numb *a, double addit);
double sumnum(numb *a);
double avernum(numb *a);
double sigmanum(numb *a);
void confidenum(numb *a);
套用進 benchmark_clock_gettime.c
for (i = 0; i < loop; i++) {
clock_gettime(CLOCK_ID, &start);
compute_pi_baseline(N);
clock_gettime(CLOCK_ID, &end);
a = appendnum(a, (double) (end.tv_sec - start.tv_sec) + (end.tv_nsec - start.tv_nsec)/ONE_SEC);
}
confidenum(HEAD);
printf("%lf ", avernum(HEAD));