Rosetta Memory Overhead
I decided to do some simple tests to see how important ram is when runningapplications under Rosetta.What I did was run a few programs under the native binary format and also openedthe ‘get info’ window and checked ‘Open using Rosetta’ then ran the program again.When each program was open I would get the ‘Real Memory’ value for the process fromthe Activity Monitor. Click read more for the results and summary.These tests were run on an iMac 20” core duo with 1 GB of RAM and a PowerMac 933Mhz with 1.5 GB of RAM both running OS X 10.4.4.
| RAM usage (in MB) | ||||||
| QuickTime | 5.13 | 5.34 | 15.14 | x1.04 | x2.83 | x2.95 |
| Comic Life | 40.32 | 59.38 | 89.35 | x1.47 | x1.50 | x2.21 |
| 9.88 | 14.37 | 48.79 | x1.45 | x3.39 | x4.93 | |
| OmniOutliner | 12.05 | 27.79 | 58.7 | x2.30 | x2.11 | x4.87 |
| Safari | 10.74 | 14.18 | 53.52 | x1.32 | x3.77 | x4.98 |
| TextMate | 12.73 | 13.96 | 49.38 | x1.09 | x3.53 | x3.87 |
Notes- The PowerPC test for Mail is probably misleading because that machine had no mail in its inbox.- An interesting observation is that none of the iLife or iWork apps (iTunes,iPhoto,Pages,etc.)have the option of ‘Open using Rosetta’ in the ‘get info’ window. I do not know if this is afunction of Rosetta knowing that it can not run these or a compile time flag that Apple hasset.
Conclusion
If you rely heavily on applications that are not yet universal make sure you load that newIntel Mac up with plenty of RAM as these programs can take any where from 2.21 - 4.98 times theRAM as when they are run on PowerPC Macs.Also note that currently native applications run on the Intel Mac require 1.04 - 2.3 times the RAMof the same application run on a PowerPC Mac. I am betting that this will decrease over time as thex86 version of OS X matures and the compiler is enhanced.
updated on 01/25/2006
- Made the results easier to read.
- Added RAM usage for a PowerPC Mac.
updated on 06/15/2007
- When transferring to new site and blogging software the posting date of the first 11 comments below got lost, sorry.

It’s likely that Installer.app removed the PowerPC part of the universal binary when installing iLife, thus removing Rosetta compatibility. Look in Other Info > Architecture in the Finder’s Get Info dialog for the .apps.
From the Universal Binary Programming Guidelines, 2nd ed.:
To prevent an application from opening using Rosetta, add the following key to the Info.plist:LSRequiresNativeExecution
This is a possible explanation for the iLife phenomenon you saw.
Dis,
Thanks for the tip, so I should be able to look in the App bundle and edit the plist to get say iTunes running under Rosetta.
Will have to try that./p>
Conclusions are wrong. The tests compare memory usage of various programs on Intel Macs, with or without Rosetta. They say nothing about RAM usage on current powerPC machines.
edit: They do now.
iLife 06 is not compatible with G3 systems, so that’s why it won’t run under Rosetta. I don’t know how they made it not do so.
iLife ‘06 IS already a universal binary.
Dono’
Dono,
We know that iLife ‘06 is a universal binary. We are just wondering why on an Intel iMac you don’t have the option of running it under Rosetta, like you can with OmniOutliner which is also a universal binary.
This time conclusions are OK. I am very surprised about the results; why does the intel consume more memory that the powerPC ? Tx for the test.
Bubu,
My theories are:
* There is some extra debug code in there that will eventually be removed as the transition to x86 progresses.
* The Apple engineers have had many years of refining their PowerPC build chain for speed and memory consumption.
* There probably was only a few engineers tasked with keeping the secret build of OS X compiling/working on x86 and memory usage was probably not one of their key concerns.
I agree that my intel iMac chokes with only 512 Mg RAM. As soon as I launch NetBeans, switching between apps slowly becomes a nightmare. 512Mg RAM is not enough.
I’m not sure how relevant this is:
E.g., if Safari uses an additional 140MB to store the web pages it is displaying (as mine is currently doing) then the additional memory usage is not significant. Starting programs and not doing anything with them shows only the code overhead. If I run photoshop I don’t care if it takes 20 or 60MB for code since I’m going to be using 600MB for my images. The same applies to these programs.
My Mail program is using up 56MB at the moment, so the additional 40MB overhead of running Rosetta appears to be less than 50%.
The interesting issue here is that if that code is now 5x larger it will really hurt I-cache performance, but I guess there’s not much to do about that.