Wednesday, June 08, 2005

"Enjoy Uncertainty"

"Enjoy Uncertainty" - This marketing slogan for the iPod shuffle might best summarize what Steve Jobs has asked us to do during the coming Mac x86 transition period. We are now watching the demise of PowerPC in general purpose computing, and it makes a lot of people very nervous. However, I am confident to say I am not one of those people. I see this as a huge win for Apple, a huge win for Intel, and ultimately a huge win for us Mac users. This is not the OS 9 --> OS X transition that Apple had during its period of crisis. Apple is now strong financially, its OS is second to none, its hardware is as cool as ever, and it has the iPod.

Because of their uncertainty, many people have flat out stated that they will not buy new PowerPC hardware, and will wait it out until x86 Mac hardware shows up before they buy. For mid to high end desktops, that seems foolish, since Apple's current iMac G5 and Power Mac G5 are excellent machines. They are well designed, and fast, and moreover, they will not be hit with compatibility issues that the initial x86 Mac hardware may face initially. Sure, there's Rosetta to translate PPC binaries to x86, but Rosetta doesn't understand Altivec, and there is a definite speed hit with software running under Rosetta. Translation and emulation are never fast:

Steve Jobs' P4 3.6 launching Photoshop CS2: 25 seconds
Eug's iMac G5 2.0 launching Photoshop CS2: 20 seconds (first launch)
Eug's iMac G5 2.0 launching Photoshop CS2: 8 seconds (second launch)

Even Steve isn't all that enamoured with Rosetta performance judging by his keynote. "Fast (enough)" indeed. Current Macs right now understand PowerPC code natively (obviously) and will continue to do so throughout the transition. Software will continue to be supported on PPC hardware for quite some time to come with universal binaries, and I'd expect so for at least 5 years. (Tiger is still supported on the lowly G3 Pismo PowerBook, for example.) At the end of 5 years, most would want to upgrade the hardware anyway.

What about low end desktops and laptops? Here I can understand the wish to wait. Apple's current G4 offerings are adequate, but nothing more. The G4 is relatively low power, but it is also relatively low performance, especially when one is talking about floating point code. Many would argue that performance-wise, the PowerBook has nothing "Power" about it. It's an excellent machine overall, just not from the point-of-view of CPU speed.

In fact, I think this is one of the main reasons for Apple's decision to switch. Steve Jobs spent a lot of time on stage talking about performance per watt. This is a huge consideration. We couldn't get our G5 PowerBook, but Intel has Pentium M Dothan right now, and Pentium M Yonah coming in 2006. I had postulated previously that we could get a warm-running laptop G5 at up to about 1.8 GHz, but Dothan is already at 2.1 GHz and uses less power, for at least similar performance to a comparatively clocked G5. Yonah will be even faster, since it's a 65 nm cool running dual-core chip. Furthermore, its little brother Celeron M will also be comparatively fast. Think G5 level performance in an iBook with Celeron M, and dual-core G5 level performance in a PowerBook with Pentium M, all possibly in a year from now. Yes, I am succumbing somewhat to Steve's Reality Distortion Field, but even if we were to be stuck with Pentium M Dothan, that would still be a major performance per watt improvement, and improvement in overall speed.

This also illustrates why Apple chose to ignore AMD. Many have stated that Apple has made a mistake because it chose Intel's desktop chips over the arguably superior Opteron line from AMD. Opterons ARE excellent chips, but the key here is that Intel's Xeons will be in the same ballpark (if not better) at the time Apple adopts them, and Apple already has fast IBM G5 chips for the time being. (I wouldn't even be surprised if Apple did finally release that famed 970MP dual-core G5 this year, as an interim chip before the x86 transition, as a last hurrah.) So yes, AMD's desktop chips are great, but that's about it. Notebook sales are now finally starting to outstrip desktop sales, and Apple just couldn't afford to deal with another chip vendor who couldn't provide on the mobile front. They've suffered through that with Motorola/Freescale, and they've suffered through that with IBM, too.

We also shouldn't forget Intel's excellent autovectorizing compilers, which are being ported to Mac OS X. ICC/IFC often offers markedly superior performance to GCC 4.0 performance. IBM's compilers were good but the autovectorizing compilers never materialized, and AMD simply has nothing significant to offer. All of this business of MMX/SSE/SSE2/SS3 autovectorization may be a slap in the face to those Apple fans who have spent their careers learning how to hand tweak Altivec code, but business is business. Altivec is in certain ways superior, but Apple was the only real proponent of Altivec for quite some time. Despite Apple's vocal support, Altivec just never had the support it should have, and finally they just threw in the towel. If you can't beat 'em, join 'em. It's a mild shame that tweaked SSE3 code sometimes may not be quite as good as tweaked Altivec code, but Intel's autovectorizating compilers will go a long way to help the average non-Altivec jockey to get reasonable performance from his or her code. And those who don't need all that extra performance will continue to use the free GCC.

It's refreshing to finally be in a situation where CPU benchmarketing is less important, and Apple's true soul, its hardware, OS, and software designs, are the main differentiating factors. Apple did the unthinkable, but sometimes it just pays to Think Different.

2 comments:

Anonymous said...

Interesting points but remember that the Mac P4 had a few other apps open when Steve launched Photoshop and of course we will never be able to but a P4 3.6 based Mac.

Anonymous said...

You left out the 'DRM thing' ... I have a big problem with Big Content (or anyone else) being the true controller of my computer.

imho, you can take the Pentium D (and it's attendant stab-you-in-the-back-ware) ...and put it where the sun don't shine.

I'll eventually have to upgrade, but mark my words; it'll be many moons from now.