Hosting and bandwidth provided by

"Macintel" Q&A - Updated December 19, 2005

To be notified of new Q&As, sign up for's bimonthly email list.

If you find this page useful, please Bookmark & Share it. Thank you.

What is "Rosetta"? What does it support?

According to page 67 of the first edition of Apple's Universal Binary Programming Guidelines, "Rosetta is a translation process that runs a PowerPC binary on an Macintosh using an Intel microprocessor--it allows applications to run as nonnative binaries. Many, but not all, applications can run translated. Applications that run translated will never run as fast as they run as a native binary because the translation process itself incurs a processing cost. How compatible your application is with Rosetta depends on the type of application it is. Applications that have a lot of user interaction and low computational needs, such as a word processor, are quite compatible. Those that have a moderate amount of user interaction and some high computational needs or that use OpenGL are, in most cases, also quite compatible. Those that have intense computing needs aren't compatible."

The second edition of Apple's Universal Binary Programming Guidelines states that "Rosetta is designed to translate currently shipping applications that run on a PowerPC with a G3 or G4 processor and that are built for Mac OS X."

"Rosetta" cannot translate [run on Intel-based Macs]:

  • Applications built for any version of the Mac OS earlier than Mac OS X -- that means Mac OS 9, Mac OS 8, Mac OS 7, and so forth
  • The Classic environment
  • Screensavers written for the PowerPC architecture
  • Code that inserts preferences in the System Preferences pane
  • Applications that require a G5 processor
  • Applications that depend on one or more PowerPC-only kernel extensions
  • Kernel extensions
  • Java applications with JNI libraries
  • Java applets in applications that Rosetta can translate; that means a web browser that Rosetta can run translated will not be able to load Java applets.

This represents a major improvement from the pre-release versions of Rosetta, which were unable to translate code written specifically for AltiVec or run applications that required a G4 processor.

For a list of applications written for the PowerPC with readers opinions regarding their performance using "Rosetta" on Intel-based systems, please refer to the always excellent MacInTouch.

What is the "Accelerate Framework"?

According to page 53 of the first edition of Apple's Universal Binary Programming Guidelines, "The Accelerate Framework, introduced in Mac OS X 10.3 and expanded in 10.4, is a set of high-performance vector-accelerated libraries. It provides a layer of abstraction that lets you access vector-based code without needing to use vector instructions yourself or to be concerned with the architecture of the target machine. The system automatically invokes the appropriate instruction set."

Effectively, the "Accelerate Framework" will allow programmers to translate code written specifically for AltiVec to run on Intel-based systems.

Permalink | E-mail a Friend | Bookmark & Share | Report an Error/Typo

Suggest a New Q&A | Sign Up for Bimonthly Site Update Notices

<< "Macintel" Q&A (Main) is provided "as is" without warranty of any kind whatsoever., and the author thereof, shall not be held responsible or liable, under any circumstances, for any damages resulting from the use or inability to use the information within. For complete disclaimer and copyright information please read and understand the Terms of Use and the Privacy Policy before using Use of any content or images without expressed permission is not allowed, although links to any page are welcomed and appreciated.