Now that MacOS X runs on Intel processors, there’re a wide variety of ways to run non-native software. Which ones are faster?
Performance is measured is the number of seconds to compute 4 million digits. Relative speed is simply the number of times faster than the baseline a result is. All the binaries used are available on the pi_css5 main page.
Below is a comparison, run on a 1.66GHZ Intel Core processor, under MacOS X 10.4.8.
Parallels and VMWare are both virtualization solutions, meaning they can run x86 OSes at nearly native speeds, although depending on the OS-virtualizer combination, some perform better than others.
Rosetta is an Apple technology for running old Cocoa and Carbon applications built for PowerPC processors. It is somewhat analogous to the 68K emulator built into the Classic MacOS when the first PowerPC Macs came out.
For Classic Mac applications that don’t run under Rosetta (because they aren’t using the Carbon APIs), you have two options, SheepShaver which emulates a PowerPC Mac, and Basilisk II which emulates a 68K one. Both have limitations (Basilisk II couldn’t even run the test here).
Finally, both Java and to a lesser degree C# offer the promise of compile-once, run-anywhere. For simple applications like pi_css5, this can work, but there are obvious performance implications.
pi_css5 version, and software environment | Performance (in seconds) |
Relative speed
|
|
|
MacOS X 10.4 Native executable | 37.25 |
24.34
|
|
Windows XP under VMWare Fusion | 41.97 |
21.60
|
|
Windows XP under Parallels Desktop | 43.75 |
20.72
|
|
Haiku under VMWare Fusion | 43.86 |
20.67
|
|
BeOS under VMWare Fusion | 55.41 |
16.36
|
|
Java under Apple Java 1.5 | 57.83 |
15.68
|
|
C# under Novell Mono 1.2 | 98.61 |
9.19
|
|
Mac OS X 10.4 PPC executable under Rosetta | 105.56 |
8.59
|
|
MacOS 9 under SheepShaver with Just-In-Time compiler enabled | 377.84 |
2.40
|
|
MacOS 9 under SheepShaver with Just-In-Time compiler disabled | 906.63 |
1.00
|
|
MacOS 7.5.5 under Basilisk II | (crashed) |