[問題] 執行效率 怎麼測試?

看板C_and_CPP (C/C++)作者 (我愛阿蓉)時間16年前 (2009/04/18 02:48), 編輯推噓7(7018)
留言25則, 10人參與, 最新討論串1/1
是醬的 我寫的程式 如果我做了某個運算 程式會盪在那邊5 6秒 才運算好 我用的電腦是 Intel core2 E6750 2.66GHZ 我到我朋友家裡跑這支程式 不到一秒就好了 但他的電腦應該比我的濫才對 AMD 64X2 DUAL Core Processor 4000+ 2.11GHZ 我硬體不懂 但光看時脈 我電腦也贏他吧??? 我實在不相信怎麼可能差這麼多 我寫了個小程式 for(int i=0;i<400000000;i++) 兩台都跑1秒左右 比不出來.......... 詭異... 是因為AMD 和 INTEL CPU架構差異????對某些運算比較厲害??? 如果是這樣我該怎麼做測試呢??? 這結果讓我很吃驚= = 一個瞬間好 一個算五秒 慢的竟然是比較快的CPU.... 我也沒有用什麼thread 很單純的單核心程式@@ 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.207.187 ※ 編輯: QQ29 來自: 140.113.207.187 (04/18 02:49) ※ 編輯: QQ29 來自: 140.113.207.187 (04/18 02:50)

04/18 02:52, , 1F
可以試試VTune
04/18 02:52, 1F

04/18 03:10, , 2F
編譯器一樣嗎,下的選項一樣嗎?
04/18 03:10, 2F

04/18 03:10, , 3F
這種 code 我用 P3 733 也有辦法 0 秒 run 完。
04/18 03:10, 3F

04/18 03:47, , 4F
有空自己弄點書看,用MHz數比速度的想法早就過時了
04/18 03:47, 4F

04/18 03:47, , 5F
自從superscalar之後就不是這樣了,其實可能還更早
04/18 03:47, 5F

04/18 03:49, , 6F
就算沒有superscalar, x86指令集也不是通通都一個cycle
04/18 03:49, 6F

04/18 03:50, , 7F
至於跑到五秒,我必須說,你系統不太正常
04/18 03:50, 7F

04/18 05:00, , 8F
你的電腦有裝卡巴2009...?
04/18 05:00, 8F

04/18 06:07, , 9F
防毒軟體和P2P,PPS等軟體會嚴重影響你的程式效率
04/18 06:07, 9F

04/18 10:19, , 10F
... 該不會你的 4000000000 變成負的才變成一秒...
04/18 10:19, 10F

04/18 12:10, , 11F
以這兩台CPU來說, 跑空迴圈百千萬次應該都是極快完成吧.
04/18 12:10, 11F

04/18 12:11, , 12F
尤其測效能通常應該用release build, 空迴圈搞不好根本
04/18 12:11, 12F

04/18 12:11, , 13F
就沒有編出asm來run; 這一點或許disasm出來看看才知道.
04/18 12:11, 13F

04/18 12:12, , 14F
至於要測程式效率, 較不精確的請查clock(), time().
04/18 12:12, 14F

04/18 12:13, , 15F
要精確的請查QueryPerformanceCounter()這一個函數....
04/18 12:13, 15F

04/18 12:15, , 16F
真懷疑CPU架構/執行時間的關係, 請貼code別讓大家瞎猜:)
04/18 12:15, 16F

04/18 12:43, , 17F
誰說clock cycle高就比較快?
04/18 12:43, 17F

04/18 12:44, , 18F
在學業界,通常是用SPEC2000這個benchmark去測效能
04/18 12:44, 18F

04/18 12:46, , 19F
另外你那個空迴圈,搞不好compiler就已經幫你最佳化
04/18 12:46, 19F

04/18 12:47, , 20F
直接給予i=399999999,compiler最佳化有錯請強者指正
04/18 12:47, 20F

04/18 16:43, , 21F
會不會是compiler有沒有-Ox的差別
04/18 16:43, 21F

04/18 16:44, , 22F
因為如果同一份code同樣的compile選項 你的電腦應該
04/18 16:44, 22F

04/18 16:45, , 23F
要比他快才是正常的
04/18 16:45, 23F

04/18 17:34, , 24F
讀個圖片,把圖片中的每個pixel讀出來,然後寫入其他Image
04/18 17:34, 24F

04/18 17:35, , 25F
測試一下速度吧
04/18 17:35, 25F
文章代碼(AID): #19wCyBsJ (C_and_CPP)
文章代碼(AID): #19wCyBsJ (C_and_CPP)