AMD64 X2 2.4 GHz Benchmark Results
Jan Doornaert
jan.doornaert at programmer.net
Mon Jul 23 22:12:24 CEST 2007
Brian,
I've run gmpbench on my (32-bit, single-core) Ubuntu machine...
jdo at BlackAdder:~/gmpbench-0.1$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 10
model name : AMD Athlon(tm) XP 2800+
stepping : 0
cpu MHz : 2255.147
cache size : 512 KB
...and this gives the following divide results:
Program divide
divide 8192 32
GMPbench.base.divide.8192,32 result: 506617
divide 8192 64
GMPbench.base.divide.8192,64 result: 148316
divide 8192 128
GMPbench.base.divide.8192,128 result: 94882
divide 8192 4096
GMPbench.base.divide.8192,4096 result: 32560
divide 8192 8064
GMPbench.base.divide.8192,8064 result: 430080
divide 131072 8192
GMPbench.base.divide.131072,8192 result: 677
divide 131072 65536
GMPbench.base.divide.131072,65536 result: 373
divide 8388608 4194304
GMPbench.base.divide.8388608,4194304 result: 1.07
GMPbench.base.divide result: 8489.3
You might notice several things:
1) The results of your only slightly higher clocked X2 are generally 2 to 3 times better than mine...
2) ...except for the FIRST result.
It looks like the divide.8192,32 and divide.8192,64 algorithms really do not differ much on a 64-bit machine (probably because the divider is stored in a 64-bit "word" anyway).
For my (32-bit) machine this does matter, as a 64-bit divider is stored in 2 32-bits "words".
In short, for a 64-bit machine, the first test should probably be excluded (or at least not taken into account when calculating the final benchmark result).
CU, JDO
--------------------------------- Original mail ---------------------------------
I have been running gmpbench on an 2.4 GHz AMD64 X2 machine with the
following summary results:
Running benchmarks
Category base
Program multiply
GMPbench.base.multiply result: 47916
Program divide
GMPbench.base.divide result: 18006
GMPbench.base result: 29373
Program rsa
GMPbench.app result: 2386.3
GMPbench result: 8372
The striking feature here is that the divide results are poor and I am
wondering why this is.
Program divide
divide 8192 32
GMPbench.base.divide.8192,32 result: 356495
divide 8192 64
GMPbench.base.divide.8192,64 result: 336958
divide 8192 128
GMPbench.base.divide.8192,128 result: 170276
divide 8192 4096
GMPbench.base.divide.8192,4096 result: 88660
divide 8192 8064
GMPbench.base.divide.8192,8064 result: 953276
divide 131072 8192
GMPbench.base.divide.131072,8192 result: 2170
divide 131072 65536
GMPbench.base.divide.131072,65536 result: 1202
divide 8388608 4194304
GMPbench.base.divide.8388608,4194304 result: 2.45
GMPbench.base.divide result: 18006
Given these results for divide, is it likely that the limits for switching
algorithms is wrong?
Or do I need to do more work on assembler code in support of divide
operations?
Any observations would be appreciated.
Brian Gladman
--
We've Got Your Name at http://www.mail.com!
Get a FREE E-mail Account Today - Choose From 100+ Domains
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://gmplib.org/list-archives/gmp-discuss/attachments/20070723/2478b6fe/attachment.html
More information about the gmp-discuss
mailing list