[問題] clock() 在afs上沒反應

看板C_and_CPP作者 (snlinot)時間8年前 (2015/10/12 13:53), 編輯推噓2(2012)
留言14則, 4人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Unix 問題(Question): 在本機上gcc出來結果是好的,都有正常的時間,但在afs上gcc就全都是零 預期的正確結果(Expected Output): 只要不是零 錯誤結果(Wrong Output):程式碼(Code):(請善用置底文網頁, 記得排版) clock_t start, end; int i, count[1000]; double diff; start = clock(); for(i=0;i<1000;i++){ count[i]=[i]; } end = clock(); diff = end - start; printf("%f", diff); -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 72.79.79.253 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1444629184.A.A86.html

10/12 20:16, , 1F
時間太短,或是標準好像說如果不支援就 return -1
10/12 20:16, 1F

10/12 21:50, , 2F
而且 clock() 的回傳值單位也不是秒數, 而是 clock 數
10/12 21:50, 2F

10/12 21:50, , 3F
要除以 CLOCKS_PER_SEC 才是秒數
10/12 21:50, 3F

10/12 21:51, , 4F
若 CLOCKS_PER_SEC 比較小那就比較有可能是時間太短
10/12 21:51, 4F

10/12 21:52, , 5F
然後標準確實有說可以 return -1, 這表示系統因為各種原因
10/12 21:52, 5F

10/12 21:53, , 6F
找不出時間就會回傳 -1, 包含若系統不支援測量執行時間
10/12 21:53, 6F

10/13 11:16, , 7F
但我在自己電腦上用別的資料測到134ms,拿去afs上面測還
10/13 11:16, 7F

10/13 11:16, , 8F
是零耶,有可能兩邊cpu差這麼多嗎?但我對afs不太了解
10/13 11:16, 8F

10/13 11:17, , 9F
請問一定要除以clocks_per_sec嗎?在網路上看有些教學是說
10/13 11:17, 9F

10/13 11:18, , 10F
如果不除以clocks_per_sec,只算時間差,結果的單位是ms
10/13 11:18, 10F

10/14 00:03, , 11F
標準規定除以 CLOCKS_PER_SEC 就是秒數, 但沒規定它要多少
10/14 00:03, 11F

10/14 00:04, , 12F
如果 CLOCKS_PER_SEC == 1000 那 clock_t 就是 ms 數沒錯
10/14 00:04, 12F

10/14 00:04, , 13F
只是並不是所有環境都是 1000 而已
10/14 00:04, 13F

10/18 04:32, , 14F
你印看看start跟end的數值啊
10/18 04:32, 14F
文章代碼(AID): #1M6qh0g6 (C_and_CPP)