The Search for Universal Binaries

All of the applications that we've looked at thus far are Universal binaries, meaning that they are compiled to work on both PowerPC and x86 architectures.  And although the number of Universal applications is quite large, there are still quite a few that are missing.  The entire Microsoft Office suite, all of Adobe's products, and even Apple's professional application line have yet to be made available as Universal binaries.  All have been scheduled and committed, but we're still at least another month away from seeing their debut. 

Apple has done a tremendous job of making sure that non-Universal binaries do run on their new Intel based Macs, thanks to a binary translation program called Rosetta.  Apple has been extremely quiet about the specifics of Rosetta, in my opinion, because it is a temporary solution that doesn't perform very well and they would rather that everyone forget it exists and port to Universal binaries immediately than rely on it as a crutch.  The basic gist of Rosetta is this: when a non-Universal application runs its PowerPC assembly code, it is handed off to Rosetta, which then translates it into another form, optimizes it and then generates its own x86 code.  The code is also cached along the way so that frequently used code blocks run quicker, since they don't have to be re-translated. 

If you're familiar with compilers, this very much sounds like a real time compiler, except that you are going from low level assembly code to low level assembly code instead of a high level programming language to the latter.  And although the process works, it is primarily to ensure functionality and wreaks havoc on performance. 


You can tell if an application is Universal or not by looking at its info, the Kind: field will be listed as "Application (Universal)".

The other side effect to a Rosetta-style binary translation is that the amount of memory that you need goes up, sometimes significantly.  Let's look at an example. First, let's take a Universal application, in this case iPhoto, and look at its memory footprint:

  iMac G5 1.9GHz  iMac Core Duo 1.83GHz
iPhoto Memory Size (at Open) 20.48MB 21.24MB

On the iMac G5, the application, with no photos in its database, takes up 20.48MB of memory.  On the Intel based iMac, iPhoto '06 occupies 21.24MB.  We've already seen that the Intel based Macs do take up a little more memory when running the same applications as the PowerPC based Macs, so the differences here are expected. 

Now, let's take a look at a non-Universal application, Microsoft Word, that has to be executed using Rosetta:

 Rosetta Performance Comparison iMac G5 1.9GHz  iMac Core Duo 1.83GHz
MS Word Memory Size (at Open) 40.03MB 64.43MB
MS Word # of Threads (at Open) 2 3

At startup, with no open documents, Rosetta increases the memory footprint of MS Word from 40MB to just over 64MB - an increase of over 60%! 

Remember the PDF that we generated in our Pages benchmark earlier?  Instead of outputting it to a PDF, I exported it to MS Word and opened it on the two machines.  I timed how long it took to open the 116-page document, but first. let's look at how much memory MS Word is occupying:

 Rosetta Performance Comparison iMac G5 1.9GHz  iMac Core Duo 1.83GHz
MS Word Memory Size (116 page Document Open) 75.75MB 218.79MB
MS Word # of Threads (116 page Document Open) 4 5

The memory footprint of MS Word has gone absolutely insane, growing from "only" 60% greater than the native application on the G5 to just under 3x the size.  With the document open, the Intel based iMac had 218.79MB of its 512MB of memory being used by MS Word and Rosetta, compared to 75.78MB on the G5.  I stressed earlier that 512MB isn't enough once you start to seriously use iLife/iWork applications. Now it's worth amending that to include anything that requires Rosetta to run.

So, how long did it take to open the Word document?  Approximately 69% longer, thanks to the necessary binary translation during the process.  Since Rosetta operates in its own thread, I checked to see if having a dual core processor sped things up at all. Unfortunately, the gain is basically nothing. 

 Rosetta Performance Comparison iMac G5 1.9GHz  iMac Core Duo 1.83GHz  iMac Core Solo 1.83GHz
MS Word Document Open 27.1 seconds 45.7 seconds 47.9 seconds
MS Word Document Convert to HTML 36 seconds 114 seconds*  

I eventually mustered up the courage to do the unthinkable: convert the open Word document to HTML.  On the iMac G5, this process took a healthy 36 seconds; on the Core Duo based iMac running Rosetta, the process took 114 seconds and then crashed, leaving me without my HTML file.  No matter what I did, I could not get the process to complete without crashing. 

I turned to one more test of performance under Rosetta; this time, to see how Rosetta impacted graphics operations as well as some more CPU bound tasks.  Cinebench 2003 has yet to be made Universal, and as a scripted benchmark, it's very easy to generate and compare data that it produces.  I used the unoptimized (non-G5) version for both platforms to keep things as equal as possible. The results are below (scores are in Cinebench 2003's own units, higher numbers are better):

 Cinebench 2003 Rosetta Performance Comparison iMac G5 1.9GHz  iMac Core Duo 1.83GHz  iMac Core Solo 1.83GHz
Rendering-1CPU 203 76 75
Rendering-2CPU   143  
C4D Shading 246 103 101
OpenGL Software Lighting 634 182 185
OpenGL Hardware Lighting 1336 506 504

Once again, the inclusion of a second core doesn't really seem to speed up the translation process at all, with the Core Duo and Core Solo posting very similar scores.  The actual performance is absolutely abysmal, not to mention the serious performance hit when looking at the OpenGL tests.  In the OpenGL Software Lighting test, the Core Duo running the benchmark using Rosetta can't even perform at 1/3 the level of the G5. 

iWork '06 Performance with Pages and Keynote Final Words
POST A COMMENT

35 Comments

View All Comments

  • snookie - Friday, February 03, 2006 - link

    The article is very good but surprisingly makes the same mistake as so many other reviews which is to test with only 512MB of ram. The intel imac is a much better machine with more ram and it doesn't make sense to test it with the minimum amount. Also Universal apps are coming fast and furious on a daily basis. I've got 1.5 GB of ram in mine and lots of the little apps I use everyday are already UB and are nice and fast as is the OS and iLife apps. It won't be long before Windows runs on these as well as Linux with Red Hat promising support. Check out Bare Feats for some pretty nice benchmarks including games. Yes, Quake 4 will actually run at a decent speed as well as COD 2.
    http://www.barefeats.com/imcd.html">http://www.barefeats.com/imcd.html
    Reply
  • csoto - Friday, February 03, 2006 - link

    Your only complaints stem from poor choice of models/configuraitons. The 20" unit will provide the added resolution, and BTO options allow up to 2GB on the Core Duo and 2.5GB on the G5 (although a 2GB soDIMM is listed at >$1K!). This is like me complaining that my mini van doesn't have a navigation system, because I was too cheap to buy the model that came with it :)

    Also, your assertion that the Core Duo is a "public beta" is absurd. You had zero problems running applications. Word from those around me that are testing Core Duos is that for most applications, you don't even notice Rosetta. Pro Apps users would complain, but they're never early adopters, because their apps always lag at least a few months behind the latest platform (remember the "multiprocessor plug-in" that allowed Photoshop to limp along for so long before a "MP-native" version was released?). This is a solid platform transition, likely exceeding the fairly solid (albeit far more daunting for the day) transition from 680x0 to PPC.

    Now if only VMWare would ship Workstation for Mac OS X, then I could ditch the Dell...

    Charles
    Reply
  • Furen - Sunday, February 05, 2006 - link

    He says he already had an iMac so in order to compare the two I'm guessing he bought the closest-matching one possible. I would hardly do to have an 20" iMac compared with a 17" one in power consumption or running at a different native resolution. I do agree that the RAM limits the system insanely but he went for default specs rather you start improving all the draw backs each system has.

    The reason why he says this is like a public beta is not because Rosetta sucks or anything of the sort but because there are almost no universal binaries besides those shipped by Apple. Apple chose to bring these systems forwards (at first they had said the systems would come out mid '06, I believe) without having enough of a software base and that's a pretty big drawback.
    Reply
  • jepapac - Wednesday, February 01, 2006 - link

    I was just wondering if the graphics adapter on the iMac is upgradeable since it is using pciexpress. Does anyone know? Reply
  • aliasfox - Thursday, February 02, 2006 - link

    I'm guessing its actually the laptop X1600 in the iMac, soldered onto the motherboard. Unfortunate, yes, but given the primary audience that the iMac is targeted at, I'm not surprised.

    Your average home user would rather buy a new $600-1000 box instead of dropping ~$500 for more RAM, a bigger hard drive, new graphics, and a faster processor.
    Reply
  • Eug - Thursday, February 02, 2006 - link

    quote:

    I'm guessing its actually the laptop X1600 in the iMac

    Why? Previous iMacs used desktop GPU parts.
    Reply
  • aliasfox - Thursday, February 02, 2006 - link

    I read somewhere that the 9600 in the second generation iMac G5 was a laptop part, and I therefore assumed that since Apple used the same GPUs in the iMac that it used in PowerBooks (GeForce FX5200, Radeon 9600, X1600), it was sourcing the same parts for both lines.

    Also, I've never read about an integrated 9600 or FX5200 as a desktop part. I might be mistaken though.
    Reply
  • nizzki - Tuesday, January 31, 2006 - link

    Any idea which compilers apple has used for their apps? For example, for the PPC apps I assume apple uses the IBM compiler heavily optimized for PPC instead of GCC.
    If that is the case, with the intel compiler for osx is in beta, the current somewhat lackluster performance of the core duo might be skewed in PPC's favor. This would be further exacerbated if Apple used GCC to compile the macintel apps, since it is unlikely to be heavily optimized for the core duo architecture.
    Reply
  • Commodus - Tuesday, January 31, 2006 - link

    Just a heads-up, Anand: the Core Duo iMac is the first iMac model to support desktop spanning, not just mirroring. So if you want, you can hook up even a 23" Cinema Display and get a huge amount of extra workspace. I'd probably only do that with a 20" iMac and the 256 MB video memory option, though. Reply
  • ingoldsby - Tuesday, January 31, 2006 - link

    Perhaps it's just me, but the non native apps I run seem to run at about the same speed as they natively ran on my G5. While the universal binaries run much faster.

    I would love to see this comparison revisited with a realistic amount of memory in the machine (ie. 1gb+) instead of limiting the machine to 512mb.
    Reply

Log in

Don't have an account? Sign up now