看板 C_and_CPP 關於我們 聯絡資訊
是醬的 我寫的程式 如果我做了某個運算 程式會盪在那邊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)
legnaleurc:可以試試VTune 04/18 02:52
tinlans:編譯器一樣嗎,下的選項一樣嗎? 04/18 03:10
tinlans:這種 code 我用 P3 733 也有辦法 0 秒 run 完。 04/18 03:10
MOONRAKER:有空自己弄點書看,用MHz數比速度的想法早就過時了 04/18 03:47
MOONRAKER:自從superscalar之後就不是這樣了,其實可能還更早 04/18 03:47
MOONRAKER:就算沒有superscalar, x86指令集也不是通通都一個cycle 04/18 03:49
MOONRAKER:至於跑到五秒,我必須說,你系統不太正常 04/18 03:50
a127a127:你的電腦有裝卡巴2009...? 04/18 05:00
sjgau:防毒軟體和P2P,PPS等軟體會嚴重影響你的程式效率 04/18 06:07
wowtiger:... 該不會你的 4000000000 變成負的才變成一秒... 04/18 10:19
VictorTom:以這兩台CPU來說, 跑空迴圈百千萬次應該都是極快完成吧. 04/18 12:10
VictorTom:尤其測效能通常應該用release build, 空迴圈搞不好根本 04/18 12:11
VictorTom:就沒有編出asm來run; 這一點或許disasm出來看看才知道. 04/18 12:11
VictorTom:至於要測程式效率, 較不精確的請查clock(), time(). 04/18 12:12
VictorTom:要精確的請查QueryPerformanceCounter()這一個函數.... 04/18 12:13
VictorTom:真懷疑CPU架構/執行時間的關係, 請貼code別讓大家瞎猜:) 04/18 12:15
eva19452002:誰說clock cycle高就比較快? 04/18 12:43
eva19452002:在學業界,通常是用SPEC2000這個benchmark去測效能 04/18 12:44
eva19452002:另外你那個空迴圈,搞不好compiler就已經幫你最佳化 04/18 12:46
eva19452002:直接給予i=399999999,compiler最佳化有錯請強者指正 04/18 12:47
smartclever:會不會是compiler有沒有-Ox的差別 04/18 16:43
smartclever:因為如果同一份code同樣的compile選項 你的電腦應該 04/18 16:44
smartclever:要比他快才是正常的 04/18 16:45
evileva:讀個圖片,把圖片中的每個pixel讀出來,然後寫入其他Image 04/18 17:34
evileva:測試一下速度吧 04/18 17:35