[問題] clock_t 計算時間

看板C_and_CPP (C/C++)作者 (cola)時間16年前 (2010/04/12 23:25), 編輯推噓2(209)
留言11則, 3人參與, 最新討論串1/1
遇到的問題: (題意請描述清楚) 要計算一段程式碼跑的時間 希望得到的正確結果: 不會是0 程式跑出來的錯誤結果: 幾乎0或1 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) dev c++ 有問題的code: (請善用置底文標色功能) 都是這種格式 九段 printf("\n\n開始exchangesort\n"); largetosexchange_start= clock(); exchangesort(list3,0,9999); largetosexchange_end= clock(); 然後結尾計算時間 largetosexchange_total=(largetosexchange_end-largetosexchange_start)/1000; 不管用/1000還是/PER_CLOCK那個 算出來幾乎都是0 少數1 可是我跑九個總共花一點時間 可是算出來才3 4秒而已 補充說明: -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 119.77.253.108

04/12 23:38, , 1F
表示電腦執行效能很快阿.
04/12 23:38, 1F

04/12 23:39, , 2F
單位是ms 你不要/1000 就看得到東西了
04/12 23:39, 2F

04/12 23:43, , 3F
轉成浮點數除法, 就可以看到比較多位的結果了吧@_@"
04/12 23:43, 3F

04/12 23:43, , 4F
也推那是跑得快, 另一種方法就是loop跑個十次看總秒數XD
04/12 23:43, 4F

04/13 00:06, , 5F
怪怪的 total是double型態 之後沒除1000 只有merge有時間
04/13 00:06, 5F

04/13 00:09, , 6F
total是double沒用啊, 你算出來應該都是 #.00000 吧??
04/13 00:09, 6F

04/13 00:09, , 7F
/1000 改成 /1000.0 再看看結果....:)
04/13 00:09, 7F

04/13 00:10, , 8F
PS. 這是置底十二誡之八的狀況:)
04/13 00:10, 8F

04/13 00:23, , 9F
怪怪的 我參考網路上的一個方法 total是float
04/13 00:23, 9F

04/13 00:23, , 10F
計算的時候 也轉型成float 可是算出來變成超大天文數字
04/13 00:23, 10F

04/13 00:27, , 11F
喔喔好了 原來是......忘記改%f
04/13 00:27, 11F
文章代碼(AID): #1Bmpjf8x (C_and_CPP)
文章代碼(AID): #1Bmpjf8x (C_and_CPP)