Friday, August 17, 2007

The great Factor computer shootout

I ran the latest suite of benchmarks on my machines:
  • Power Mac G5 2.5Ghz
  • Athlon 64 2.4GHz
  • Pentium 4 2.8GHz
(I didn't include the ARM-based Gumstix this time.)
Benchmark PowerPC G5Athlon 64Pentium 4
bootstrap1 14805 14217 12617
bootstrap2 437594 326091 412635
continuations 441 312 435
dispatch1 8092 6041 5473
empty-loop 485 209 565
fib1 190 79 129
fib2 847 191 279
fib3 1396 492 580
fib4 4797 2410 3311
fib5 2483 1391 1857
iteration 18200 11353 10810
mandel 4556 2148 4418
nsieve 2603 5069 2372
nsieve-bits 56640 58543 45725
partial-sums 27351 25615 19230
raytracer 25862 23301 24538
recursive 38736 12120 13662
reverse-complement17536 20827 13091
ring 9827 7470 8979
sort 1809 1885 1153
spectral-norm 31879 9383 11731
sum-file 335 277 239
typecheck1 6959 2820 2429
typecheck2 7171 2243 1919
typecheck3 4596 1950 1883
typecheck4 4887 1914 1756

As you can see, the PowerPC backend lags somewhat. The Pentium 4 box is surprisingly fast -- and at 6 years old, it's the oldest machine of the bunch!

1 comment:

Anonymous said...

if itterations < 2**32 (as it could be seen from the timing) and the loop is not allowed to be optimised away completly but empty and the itteration count it known in advance i would expect this code or something very simerlar:

lis r3, hi16(itterations)
ori r3, r3, lo16(itterations)
mtctr r3
loop: bdnz+
blr