[問題] 兩種計時方法的差別?
大家好
我在測一段程式碼的執行時間時
碰到一點問題
我用兩種方法測
第一種方法如下:
(都寫在main function中)
**
double timedifference;
time_t start,end;
time (&start);
程式碼
time (&end);
timedifference = difftime (end,start);
cout << timedifference << endl;
**
第二種方法是在main外定義好計時的function:
**
double diffclock(clock_t clock1, clock_t clock2)
{
double diffticks=clock1-clock2;
double diffms=(diffticks*10)/CLOCKS_PER_SEC;
return diffms;
}
int main(){
clock_t begin=clock();
程式碼
clock_t end=clock();
cout << diffclock(end,begin) << endl;
}
**
我的問題是
用這兩種方法算出來的答案差很多
但我不曉得其中的差異在哪?
第一個方法看起來比較合理
和程式碼跑完所花的時間差不多
我猜第二個方法得到的結果
單位應該是ms
但算出來的時間和跑完程式花的時間非常不符...
不知道他算出來的時間是什麼 @@"
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.101.199
※ 編輯: leo80042 來自: 140.112.101.199 (03/31 16:28)
→
03/31 17:02, , 1F
03/31 17:02, 1F
→
03/31 17:02, , 2F
03/31 17:02, 2F
→
03/31 17:03, , 3F
03/31 17:03, 3F
推
03/31 18:16, , 4F
03/31 18:16, 4F
→
04/02 08:58, , 5F
04/02 08:58, 5F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章