No more mysteries: Apple's G5 versus x86, Mac OS X versus Linux
by Johan De Gelas on June 3, 2005 7:48 AM EST- Posted in
- Mac
Workstation, yes; Server, no.
The G5 is a gigantic improvement over the previous CPU in the PowerMac, the G4e. The G5 is one of the most superscalar CPUs ever, and has all the characteristics that could give Apple the edge, especially now that the clock speed race between AMD and Intel is over. However, there is still a lot of work to be done.First of all, the G5 needs a lower latency access to the memory because right now, the integer performance of the G5 leaves a lot to be desired. The Opteron and Xeon have a better integer engine, and especially the Pentium 4/Xeon has a better Branch predictor too. The Opteron's memory subsystem runs circles around the G5's.
Secondly, it is clear that the G5 FP performance, despite its access to 32 architectural registers, needs good optimisation. Only one of our flops tests was " Altivectorized", which means that the GCC compiler needs to improve quite a bit before it can turn those many open source programs into super fast applications on the Mac. In contrast, the Intel compiler can vectorize all 8 tests.
Altivec or the velocity engine can make the G5 shine in workstation applications. A good example is Lightwave where the G5 takes on the best x86 competition in some situations, and remains behind in others.
The future looks promising in the workstation market for Apple, as the G5 has a lot of unused potential and the increasing market share of the Power Mac should tempt developers to put a little more effort in Mac optimisation.
The server performance of the Apple platform is, however, catastrophic. When we asked Apple for a reaction, they told us that some database vendors, Sybase and Oracle, have found a way around the threading problems. We'll try Sybase later, but frankly, we are very sceptical. The whole "multi-threaded Mach microkernel trapped inside a monolithic FreeBSD cocoon with several threading wrappers and coarse-grained threading access to the kernel", with a "backwards compatibility" millstone around its neck sounds like a bad fusion recipe for performance.
Workstation apps will hardly mind, but the performance of server applications depends greatly on the threading, signalling and locking engine. I am no operating system expert, but with the data that we have today, I think that a PowerPC optimised Linux such as Yellow Dog is a better idea for the Xserve than Mac OS X server.
References
Threading on OS Xhttp://developer.apple.com/technotes/tn/tn2028.html
Basics OS X
http://developer.apple.com/documentation/macosx/index.html
116 Comments
View All Comments
tfranzese - Friday, June 3, 2005 - link
Kind of snappy there Johan.I do prefer numbers coming from one source myself.
JohanAnandtech - Friday, June 3, 2005 - link
Rubikcube: Speculative? Firstly, Both a webserver and a database server show terrible performance. Secondly, LMbench shows there is definitely a problem with creating threads. So everything point into our "speculative" conclusion.Thirdly, as mentioned in an earlier post:
http://www-106.ibm.com/developerworks/linux/librar...
is another indication that there is nothing speculative about our conclusion.
rubikcube - Friday, June 3, 2005 - link
#21 I disagree. Most of the end of the article on the threading problems was speculative. We can't say that's the cause without actual testing.Jalf - Friday, June 3, 2005 - link
To those wanting a Linux on G5 test, keep in mind the entire purpose of this article. It was to test the performance of a Mac computer running a Mac OS, compared to a Intel/AMD PC.So while installing Linux on the G5 would give us a better idea of how the CPU itself performs, it would also leave out the huge effect the OS also has (You wouldn't have seen the huge performance problems with threading, for example.)
Jalf - Friday, June 3, 2005 - link
#11: Not true, if you browse AMD's documentation for a bit, they do say that their TDP *is* the absolute max power.Intel uses the "maximum power achievable under most circumstances"-method though.
rubikcube - Friday, June 3, 2005 - link
I agree that linux should have been used for a more normalized comparison. I also think that you should have tried running your mysql tests from darwin on x86. You might have been able to find the cause of the performance anomalies.Sabresiberian - Friday, June 3, 2005 - link
I find it hilarious that someone calling him- or herself 'porkster' is complaining about someone else's language :)Apple's computers have made their fame on their user-friendliness, so I think it is very appropriate to compare these computers with OSX on the Apples, as that's where the user-friendliness resides and both OSes are in the same family. It would have been fun to compare using the 64 bit Win XP Pro - I bet we would all get a good laugh out of that. Microsoft is determined, I think, to make a Linux man out of me yet :)
kresek - Friday, June 3, 2005 - link
waiting for AnandTech's YDL results, have a look at this:http://www-106.ibm.com/developerworks/library/l-yd...
SMOG - Friday, June 3, 2005 - link
#13 Thresher: "When it comes down to it, performance is important, but not the only reason people buy what they buy. I would say more often than not, the decision is made with only a modicum of logic."Your right, and those people didn't read this article, at best they read the first page then skipped to the last to see if he bashed Apple or not. This article was for those who want to know just what the power of the PowerPC actually is. This is a technical artical, not a buyers guide. This is science.
Good Job.
CU - Friday, June 3, 2005 - link
You mentioned most people don't use the Intel compiler, but it would have been nice to see it and also the windows compiler and the ibm compiler.