All Macs In-Depth Tests
The Performance Edge: OS X Runs A Marathon While OS 9 Is Just Finishing Tying Its Shoes - OS X And The Multitasking/Multithreaded Factor
Wednesday, October 17, 2001

I am not a programmer, so I might be slightly off base here, but I will try to explain the huge advantage that OS X has over OS 9 in the performance arena. It comes down to two words: Multitasking and Multithreaded.

OS X has what is called Preemptive Multitasking. This allows the OS to run multiple tasks from two or more applications at once. The core of the OS acts as a cop giving each application the resources it needs, at any given time. No application is allowed to hog processor time. There is no more waiting for the front-most application to finish its task before background applications can start on their jobs. For example we had three copies of QuickTime, encoding three different files, all at once, under OS X. Try that under OS 9.2 and your computer will say, "thanks but no thanks", as it struggles to work on encoding just one file. Did I mention that we were surfing the Net while the OS X setup chomped away on the 3 QuickTime files in the background? Sweet!

Multithreading allows the OS to break up an application process into individual tasks that can run concurrently across multiple processors. Multithreading doesn't fall like a ripe fruit from the tree. Programers have write their applications to be multithreaded. But Apple has made it very easy for developers to reach up and pick that fruit. This is because OS X has well developed support for multithreading built into the OS. My understanding is that if your application is not multithread enabled, it will not benefit from dual processors.

What does this mean for the end user? Potentially much greater productivity. If you are using your Mac for heavy-duty work (rendering, encoding, compiling etc), not only can you do this work fast and effectively in the background while you catch up on your email, watch the latest movie trailer or do a little word processing, but, if you have a dual processor machine, you can get this work done close to twice as fast - as long as your app has been multithreaded. In general the whole idea of OS X, from a performance perspective, is to keep your processor(s) as busy as possible - it is a sad truth that much, if not most, of the processor's time is spent cooling it heels, waiting for someone to ask it to dance. OS X makes sure, if called upon, that the dance card is full.

If you are not using your computer for heavy duty type work, the performance benefits of OS X will not be as substantial for you. But neither are they now, under your current Mac OS. You will however be delighted by the Multitasking capabilities of the OS, and there is all that untapped power waiting for you to harness it, whenever needed.

Of course performance is not the only reason to upgrade to OS X ... but that is another story. Suffice it to say that OS 9 is that old friendly car that you have been holding on to for a few too many years, and OS X is that powerful, sleek, solid, new model, with all the latest technology, that you are just about to have sold to you.

Final note: I hope that if I have gotten something wrong above, the more knowledgeable individuals in our audience will help me out. Questions I still have are: Can multithreading occur if only one processor is present? If not why not?

Take a look at the benchmark results below. If you have any feedback or additional information to share either e-mail us, or use this link to post your thoughts on our bulletin board.

All machines were configured similarly

Note: This is our initial look at the performance of the new Quicksilver Towers. We will be running more tests and hope to have a full review of all the new Power Macs in the next few weeks.

Additional resources:

For all the tests below, an attempt to run the applications tasks concurrently was attempted. This of course was no problem in OS X, but was only partially successful under OS 9.2. We will note below where we had some success in multitasking in OS 9.2. All test were run on a dual processor G4/800 tower with 768 MB of RAM.

A Sorenson encode takes great advantage of the G4 processor. However you cannot run two copies of QuickTime, at once, under OS 9.2, and have each of them crunching away on encodes. In OS 9.2 one copy of QuickTime completely takes over and you have to wait until it is done to move on. So that is exactly what we did, we waited for one encode to finish and then repeated it. Under OS 10.1 we were able to start two copies of QuickTime at the same time and have them working away on files concurrently. The result was that both of the processors were completely saturated with data to chew on. The benchmark above speaks for itself, OS 10.1 turning in just a little under twice the performance. It is interesting to note that this occurred because the OS allows for Multitasking, not because of multithreading, which is not enabled in the Sorenson codec that ships with QuickTime.

Again we see the same result here. Neither of these tasks are multithreaded but benefit from multitasking capabilities. iMovie is also multitasking under OS 9.2 but uses Cooperative Multitasking which is far less efficient. Indeed it appeared that when the iMovie Ripple Effect was put into the background under OS 9.2, it ground to a halt as QuickTime, in the front, hogged most of the processing power of the machine

This reversal of fortune for OS 10.1 is due to the fact that scrolling performance under OS 10.1 is pretty poor (about half the speed of the same document in OS 9.2). At least this is true for AppleWorks. When running this test in OS 10.1 the MP3 encode finished about halfway through the scrolling. In OS 9.2 multitasking was available but the background application ground to a halt while the foreground scrolling was taking place.

These Fractals require huge amounts of processing time. One fractal completely saturated the dual processors, and then some. Running three at the same time was the only thing that made OS 10.1 seem slightly sluggish - especially when changing between applicatons. The AltiVec Fractal is able to use dual processors under Mac OS 9.2 but not Preemptive Multitasking. Hence the poor performance for concurrent processing under OS 9.2. However, because just one of these Fractals can completely saturate both processors there is no advantage to running three of them at once ... in other words Preemptive Multitasking in Mac OS X was no real advantage over running one task after the other, from a raw performance point of view. A cautionary tale that, OS X or no OS X you will ultimately run into the processing limits of any Mac, if you push it to the wall. It is just that OS X makes it easy to find the wall.

2nd Final Note: Most of the tests we have run above are ones that tax the processor(s) to the maximum. As such they show only one side of the multitasking and multithreading capability of OS X. They show what performance will be like if you push the system to its fullest. Most of us don't do that in our daily computing. But for the professionals and semi-professionals who have been waiting for this kind of power, OS X is a godsend.

Epilogue: We did not cover gaming here under OS X. We hope to in the future. However BareFeats has done some interesting testing of a beta version of Quake III that takes advantage of both dual processors and the G4. They were able to squeeze out a mind popping 168 frames per second. Although not directly comparative, we only got 100 frames per second when testing the current version of Quake III under 9.2.