Re: [問題] 拆迴圈+效能測試

看板C_and_CPP作者 (stu)時間12年前 (2011/10/13 22:12), 編輯推噓3(302)
留言5則, 4人參與, 最新討論串2/3 (看更多)
我自己測試了一下 timer的程式碼我沒有放上來 我貼的程式碼只有主要的測試部份 http://pastie.org/2689010 考慮到最佳化可能會亂動timer的程式位置 所以我搬的資料有數值 而且之後會使用到 我可能還有什麼沒有考慮到的 就還請指教囉 ---------------------------------------------- 我測試了幾個東西 for loop memcpy 還有兩種loop展開寫法 平台: VC2005 win7 ------------------------------------------------ 測試結論: debug: 展開loop會比for loop快 而memcpy最快 release: 展開迴圈會變慢 我猜是因為有額外的address計算量 不是只有條件判斷式而已 此時沒有展開的loop 與memcpy擁有完全相同的執行時間 看來自己手動展開loop不見得有幫助呀 -- ※ 發信站 :批踢踢實業坊(ptt.cc) ◆ From: 140.113.210.62

10/13 22:27, , 1F
剛剛其實也有想試native code,可是太懶,因為我是覺得正常
10/13 22:27, 1F

10/13 22:30, , 2F
沒optimize應該還是展開快
10/13 22:30, 2F

10/13 22:34, , 3F
但是重點就是編譯器的最佳化,會比自己調整還有幫助
10/13 22:34, 3F

10/13 23:04, , 4F
推~ 都比我勤勞多了~~~~ ^^"..
10/13 23:04, 4F

10/13 23:20, , 5F
因為 memcpy 是用組語寫的.
10/13 23:20, 5F
文章代碼(AID): #1Ebl7D9t (C_and_CPP)
文章代碼(AID): #1Ebl7D9t (C_and_CPP)