Re: [問題] 該如何估計程式執行的時間
※ 引述《Dreamer77 (追夢)》之銘言:
: 若不用time去計算程式執行時間
: 該怎麼估計程式的執行時間呢?
: 若是有一個矩陣 跑兩個N迴圈 做簡單的lookup 該怎麼估計
: 不知道板友有沒有什麼方法
: 感謝~
不好意思, 上一篇搞笑了..
這問題我之前遇過類似的問題, #1C-99bdi
大致講一下當時查詢資料的心得, 有錯的話也請不吝糾正
簡單的說,先把你的 C language 用工具翻成 .asm
(VC 似乎有提供, cl test.cpp /Fatest.asm)
( http://0rz.tw/71niw )
之後裡面都是組語,組語裡面的每個 instruction 基本上都查得到是幾個 clock cycles
這樣可以算得出來整個程式碼會花多少 clock cycles,
最後再將 clock cycles * clock cycle time 大致可得知執行時間.
--------------------------------------------------------------
之前我找的資料大致上是這麼說明, 大多人推真要算得精確的話用這方法,
( 雖我覺得高精度計時器不錯, 不過直接看組語分析似乎是較準確的 )
不過我好奇的是它的分析是不是以單核為主,
另據悉, 實際跑的情況仍要看 branch 優化及其它結果判斷.
且 clock cycle time 直接以 1 / (frequence) 代入也不知準不準.
--
YouLoveMe() ? LetItBe() : LetMeFree();
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 180.177.76.142
※ 編輯: tropical72 來自: 180.177.76.142 (12/29 22:52)
※ 編輯: tropical72 來自: 180.177.76.142 (12/29 22:57)
→
12/29 23:05, , 1F
12/29 23:05, 1F
→
12/29 23:18, , 2F
12/29 23:18, 2F
→
12/29 23:20, , 3F
12/29 23:20, 3F
→
12/29 23:20, , 4F
12/29 23:20, 4F
→
12/29 23:25, , 5F
12/29 23:25, 5F
→
12/29 23:26, , 6F
12/29 23:26, 6F
→
12/29 23:27, , 7F
12/29 23:27, 7F
→
12/29 23:28, , 8F
12/29 23:28, 8F
→
12/29 23:28, , 9F
12/29 23:28, 9F
→
12/29 23:32, , 10F
12/29 23:32, 10F
→
12/29 23:33, , 11F
12/29 23:33, 11F
→
12/29 23:33, , 12F
12/29 23:33, 12F
→
12/30 00:18, , 13F
12/30 00:18, 13F
→
12/30 00:19, , 14F
12/30 00:19, 14F
→
12/30 00:20, , 15F
12/30 00:20, 15F
→
12/30 00:20, , 16F
12/30 00:20, 16F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):