作者QQ29 (我爱阿蓉)
看板C_and_CPP
标题[问题] 执行效率 怎麽测试?
时间Sat Apr 18 02:48:42 2009
是酱的
我写的程式 如果我做了某个运算
程式会荡在那边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)
1F:推 legnaleurc:可以试试VTune 04/18 02:52
2F:→ tinlans:编译器一样吗,下的选项一样吗? 04/18 03:10
3F:→ tinlans:这种 code 我用 P3 733 也有办法 0 秒 run 完。 04/18 03:10
4F:→ MOONRAKER:有空自己弄点书看,用MHz数比速度的想法早就过时了 04/18 03:47
5F:→ MOONRAKER:自从superscalar之後就不是这样了,其实可能还更早 04/18 03:47
6F:→ MOONRAKER:就算没有superscalar, x86指令集也不是通通都一个cycle 04/18 03:49
7F:→ MOONRAKER:至於跑到五秒,我必须说,你系统不太正常 04/18 03:50
8F:→ a127a127:你的电脑有装卡巴2009...? 04/18 05:00
9F:推 sjgau:防毒软体和P2P,PPS等软体会严重影响你的程式效率 04/18 06:07
10F:推 wowtiger:... 该不会你的 4000000000 变成负的才变成一秒... 04/18 10:19
11F:推 VictorTom:以这两台CPU来说, 跑空回圈百千万次应该都是极快完成吧. 04/18 12:10
12F:→ VictorTom:尤其测效能通常应该用release build, 空回圈搞不好根本 04/18 12:11
13F:→ VictorTom:就没有编出asm来run; 这一点或许disasm出来看看才知道. 04/18 12:11
14F:→ VictorTom:至於要测程式效率, 较不精确的请查clock(), time(). 04/18 12:12
15F:→ VictorTom:要精确的请查QueryPerformanceCounter()这一个函数.... 04/18 12:13
16F:推 VictorTom:真怀疑CPU架构/执行时间的关系, 请贴code别让大家瞎猜:) 04/18 12:15
17F:→ eva19452002:谁说clock cycle高就比较快? 04/18 12:43
18F:→ eva19452002:在学业界,通常是用SPEC2000这个benchmark去测效能 04/18 12:44
19F:→ eva19452002:另外你那个空回圈,搞不好compiler就已经帮你最佳化 04/18 12:46
20F:→ eva19452002:直接给予i=399999999,compiler最佳化有错请强者指正 04/18 12:47
21F:推 smartclever:会不会是compiler有没有-Ox的差别 04/18 16:43
22F:→ smartclever:因为如果同一份code同样的compile选项 你的电脑应该 04/18 16:44
23F:→ smartclever:要比他快才是正常的 04/18 16:45
24F:推 evileva:读个图片,把图片中的每个pixel读出来,然後写入其他Image 04/18 17:34
25F:→ evileva:测试一下速度吧 04/18 17:35