Apple Hate
Friday, June 10th, 2005Apple has been a popular subject lately, and the fall out of the Intel switch has been flooding the Net with tons of crap. So, I’m here in my yellow rubber dingy, floating down an overflowing river of Apple Hate™. And I quote, “I didn’t waste six years writing code for a dead-end platform.”
And Kennedye (the poster of that comment) has got a point: hand tuned PPC and Altivec may have not been the best idea, the compiler should be smart enough to auto-vectorize my code and get some decent performance out of it. Hell, GCC should learn to just read my mind; or maybe not, it’d explode from my semi-sarcastic realistic outlook on life.
Now, everyone is thinking Steve Jobs made a mistake, but I’m thinking this may be a brilliant move. See, Steve has something called the Reality Distortion Field™. This field is a documented phenomenon of quantum physics that causes Steve to just think about something, and make it a reality. He can convince anyone of anything, and if he can’t, he can just take your side of the argument up as if that was his side all along, and you’d never know otherwise. This field is so powerful, that even if you know about it ahead of time, you’re still affected.
So, I think Steve watched X-Men (the movie), and saw Magneto’s Spinning Mutant Generator, and thought to himself, “Hmm, wouldn’t it be nice if I could build something like that to project my Reality Distortion Field™ all over the world and convince everyone that my new Mactel machines really are something awesome.”
Although I may be under the effects of his hideous yet elegant and wonderful machine, I think he may be partially right. Due to his reliance on Altivec to close the gap between G4 processors and x86, he got screwed. An ounce of garden variety speed is worth a pound of special case optimization, and the PPC was far overweight in this respect.
Sure, I may have gotten a 25-500% improvement in code that was SIMD-friendly; but using a (at that time) fast Pentium 4 vs the (at that time) new G4, I could easily see a 25-100% improvement in programs that weren’t SIMD-friendly. And seeing as the overwhelmingly vast majority of code isn’t SIMD-able, I’d gladly trade Altivec for raw speed.
Take into the fact that the Athlon was beating the pants off the Pentium 4, the G4 was a really bad deal for Apple users. Sure, it was elegant (and Apple thrives on elegance), but you paid for that by having slower processors.
Of course, if you actually had said special case, PPC was the winner. Take a look at the Cell processor in the Playstation 3. Cell* is a derivative of the PPC meant for machines that need high performance and repetitive (but complex) calculations, such as games, or certain scientific applications. It simply performs better than x86 would in that situation, and Sony knows it.
So, Apple now has effectively traded the rarely used Altivec for lots of generic speed, and got cheaper and more readily available CPUs to boot. So, Steve, what is your next move? A mouse with zero buttons?
* I’m not factoring in Cell’s 8 special use vector units. With those included, it unfairly destroys any competition. Without the vector units, its still a high performance 3.2 GHz PPC-like core.