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.
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.
HandHelditems.com - Personalize your iPod with us. Shop hundreds of unique iPod accessories and save up to 80%.
Apple Store
- The size of a pack of gum, iPod shuffle weighs less than a car key. Which means there’s nowhere your skip-free iPod shuffle can’t go. Click Here
Copyright 1996-2007 by Cider Press Publishing LLC all rights reserved.
MacSpeedZone is not authorized, sponsored, or otherwise approved by Apple
Computer. Apple, the Apple logo, Macintosh, iPod, iBook, iMac, eMac, and
PowerBook are registered trademarks of Apple Computer, Inc. Additional
company
and product names may be trademarks or registered trademarks and are hereby
acknowledged.