Those of you who want every last drop of performance may be interested to know that System 7.1 may run slower than 7.0.1 on certain Macs - notably the IIci and later machines that have an FPU (floating point unit, also known as a math coprocessor). This stems from the removal in System 7.1 of the Omega SANE (Standard Apple Numeric Environment), a "scary hack" included only in System 7.0.1 that increases speed by bypassing certain routines. Apparently, Apple removed the Omega SANE routines from System 7.1 to improve future compatibility with the RISC-based PowerPC platform that will differ significantly from the 680x0-based Macintosh platform.
BYTE results -- by Tom Thompson, BYTE Senior Tech Editor at Large
To confirm rumors that Apple removed Omega SANE from System 7.1, the BYTE Lab ran its low-level benchmark tests on a Mac IIci configured to run either version of the Mac OS. You'll recall that Omega SANE does some scary patching that lets Mac applications bypass most of the Trap Dispatcher when making calls to the SANE library. By eliminating the Trap Dispatcher's overhead, floating-point performance improves dramatically on Macs equipped with FPUs. With Omega SANE removed, expect the floating-point performance on these Macs to drop.
The IIci had System 7.0.1 with Tune-Up 1.1.1 loaded on an internal drive, and System 7.1 from the October Developer's CD loaded on an external drive. Either OS could be run by changing the Startup Disk Control Panel setting. The Shift key was held down at boot time to prevent Extension and Control Panel INIT code from loading. These results come from a beta version of a new set of Mac low-level benchmarks being written at BYTE. The FPU tests use SANE calls exclusively to do computations.
The CPU benchmark times are included as a "sanity check" on the computer and the OS. The Matrix and Sort times are higher, because they also use math functions. Interestingly, the Move Byte test posts a slower time, even though the test simply moves data strings about in memory. (No, I don't have an explanation for that.)
As you can see from the results in the table, floating-point performance is definitely lower under System 7.1. We can conclude that Omega SANE is absent.
System 7.0.1* System 7.1 CPU tests Matrix 11.15 11.86 Move Byte 51.57 52.55 Move Word 26.94 26.93 Move Longword 14.65 14.65 Sieve 5.16 5.17 Sort 6.17 6.25 FPU tests Math 32.39 81.78 Sin(x) 9.68 40.54 e^x 9.95 54.48
System: Mac IIci with 8 MB RAM, 80 MB hard disk, and equipped with SuperMac Thunder/24 display board and monitor. Times are in seconds. AppleTalk was off, and Extensions/Control Panels were not loaded.
Tom Thompson -- email@example.com
Other machines -- [back to me again... -Adam]
In an independent look into the performance differences between System 7.0.1 and System 7.1, Mel Martinez collected Speedometer reports from various Mac models - the LC, the IIci, the PowerBook 170, and the Quadra 700. Here are Math results from Mel's report, which he posted in full on <sumex-aim.stanford.edu> as:
System 7.0.1* System 7.1 Machine Macintosh LC 4.115 4.125 Macintosh IIci 19.848 10.153 PowerBook 170 22.456 22.162 Quadra 700 100.918 102.203
A Macintosh Classic is 1.0, so each number shows how that machine compares to a Classic. Note that the LC has no FPU at all.
Interestingly, although the IIci's numbers bear out Tom's results, neither the Quadra 700 nor the PowerBook 170 were affected. Tom confirmed that the Quadra line has Omega SANE in its ROMs, but we hadn't previously heard about the 170. I wonder if the IIfx falls in the same category as the IIci?
Although the IIci benchmarks seem alarming, keep in mind that in normal use you probably won't notice much difference. The FPU comes into play only with math-intensive applications such as spreadsheet work, math packages like Mathematica and DataDesk, and engineering applications such as simulations and CAD. Adobe Photoshop also uses the FPU, at least when you start manipulating images, especially with filters. Most common applications probably won't use the sort of mathematical functions internally that hit the FPU.