compiler | gcc 4.0 | CW 9.5 | VC++ 2003 | ICC 8.1 | ||
---|---|---|---|---|---|---|
os | OS X 10.4.1 | WinXP SP2 / Win2003 | ||||
cpu | G5 2.0 | X 3.4 | PM 1.7 | X 3.4 | PM 1.7 | |
multiply add | 2000 | 2500 | 909 | 917 | 709 | 714 |
inner product | 1000 | 909 | 917 | 1282 | 917 | 1064 |
polynomial | 833 | 1111 | 493 | 377 | 535 | 457 |
hypotenuse | 357 | 385 | 267 | 145 | 267 | 149 |
complex multiply add | 357 | --- | --- | --- | --- | --- |
predicate | 1250 | 1250 | --- | --- | --- | --- |
slicing | 227 | 286 | --- | --- | --- | --- |
power | 50.3 | 56.5 | --- | --- | --- | --- |
trigonometric | 71.9 | 70.4 | 24.2 | 18.0 | 43.5 | 25.4 |
One Monday night in June, Steve Jobs ripped the PowerPC heart out of the Macintosh and slammed in an Intel one. Will this strange beast, the Macintel, succeed in being the low-cost, low-heat and high-power solution that the G5 never was? Will we really miss Altivec, the SIMD engine for PowerPC, and Codewarrior, the high-end compiler for the Mac, in the brave new world of Universal Binaries, SSE and Xcode? The macstl 0.3 benchmark lets us gaze into that crystal ball.
Todays match pits our old stalwart, the G5 2.5GHz (G5 2.0) against two Pentiums that you might find inside the Macintel. The heavy server iron of the Xeon 3.4GHz (X 3.4) is the best of the last generation Pentium 4 architecture. The fleet-footed Pentium M 1.73GHz (PM 1.7) or Centrino, started life as a chip for mobiles but is now the way of the future for Intel. Weve outfitted them with the latest operating systems and compilers and while its not Mac OS X running on an Intel-based Apple Development Platform, these Windows-based systems should give us a good run for their money.
compiler | gcc 4.0 | CW 9.5 | VC++ 2003 | ICC 8.1 | ||
---|---|---|---|---|---|---|
os | OS X 10.4.1 | WinXP SP2 / Win2003 | ||||
cpu | G5 2.0 | X 3.4 | PM 1.7 | X 3.4 | PM 1.7 | |
multiply add | 3.4 | 4.3 | 1.8 | 2.7 | 2.4 | 3.2 |
inner product | 3.0 | 2.7 | 3.9 | 4.0 | 1.0 | 1.0 |
polynomial | 2.9 | 5.0 | 1.3 | 1.5 | 2.8 | 3.0 |
hypotenuse | 3.6 | 7.4 | 4.6 | 5.4 | 2.0 | 1.7 |
complex multiply add | 2.4 | --- | --- | --- | --- | --- |
predicate | 1.6 | 1.5 | --- | --- | --- | --- |
slicing | 0.7 | 0.9 | --- | --- | --- | --- |
power | 7.0 | 6.4 | --- | --- | --- | --- | trigonometric | 21.2 | 17.4 | 5.4 | 2.8 | 19.7 | 8.9 |
macstl 0.3 keeps getting faster. The inner product and trigonometric tests have improved over 0.2 trigonometry sees gcc 4.0 drawing even with Codewarrior 9.5 in Altivec, and ICC 8.1 edging its Xeon showing from the last time in SSE. macstl still beats the crap off autovectorization, despite both gcc 4.0 and ICC 8.1 now autovectorizing their scalar loops.
As for compilers, Codewarrior still holds the performance crown barely. The first PowerPC compiler and IDE on the scene during the last great processor swap in the Apple world, Codewarrior occupies a soft, sweet spot in many a Macintosh programmers heart. But the magic combination of open-source hard work and Apple ingenuity with the Apple gcc team should see it dethroned before long.
Its a different story with the CPUs. To beat todays slowest 2.0GHz Power Mac on the trig test, an Macintel machine would have to sport a 5.6GHz Xeon or a 4.8GHz Pentium M. Looks like Jobs and Otellini have their work cut out for them.