October 25, 2003

Mac OS X Exposé: Shocking Reasons for Slowness

Many people have speculated over the years about why Mac OS X is slower than its predecessor, Mac OS 9. Some theories regarding its slowky-pokey performance put forth by the so-called “Mac Community” include the robust underlying UNIXy shit, the advanced graphics system, and so on ad infinitum. They are all wrong, wronger than Wronger McWrongs when he said, “I was wrong.”

We here at PerversionTracker have finally arrived at a conclusion, and it is very simple: Mac OS X is slow because it is always converting between the metric and English measurement systems. And further, it uses metric conversion routines designed for a CISC processor, mostly ignoring RISC design principles. When you think about it, it becomes obvious. We all know how progressive Steve Jobs is, so it stands to reason that he pushed for NeXTStep to be based around the metric system, even though the rest of the industry used the English system. When OS X was born, Apple missed its chance to go back to the English system, which would have dramatically improved speed. Through simple bullheadedness, OS X was fundamentally crippled, a mistake Apple is still trying to compensate for today. But this late in the game, it is nearly impossible for Apple to switch to English: too many applications depend on OS X’s quirky measuring behavior.

PvT sources deep inside Apple have revealed that OS X 10.0 suffered from these extremely un-optimized CISC-based metric-conversion routines to a great degree. Over these last few years, Apple engineers have worked night and day, relentlessly squeezing more performance out of the PowerPC processor, never giving up in their noble quest for fast metric conversion. The result of their work was named the Apple Measurement System Compatibility Layer (or AleMaSCaLy in market-speak. Our sources report how close this came to becoming a top-tier marketing bullet point, but apparently it was thought it might seem “a bit obscure”), a seamless framework to convert between millimetres and sthenes, litres and gills, chains and kilometres, scruples and millilitres, and many other combinations, including the technically-challenging dots-per-inch to voxels-per-hectare conversion. Also accomplished during this time, this Renaissance of unit conversion, was the rearchitecting of the “Fast Unit Combinatory” function for the PowerPC, a step forward that was almost entirely responsible for the speed increases seen in OS X 10.1.

Since then, we have seen both the G4 and G5 processors, both featuring greatly improved metric capabilities. The Velocity Engine, first introduced in the G4, enabled Apple engineers to soar to new heights—the Fast Unit Combinatory could now be accomplished in three processor cycles, instead of the twenty-three cycles required with the G3. And recently, Apple worked closely with IBM to develop the patent-pending “CMYK To Fathoms Scanline Conversion Unit,” which the G5 includes on-die. It is even rumored that future versions of the G5 may include multiple unit-conversion cores on the same chip, which may be the step needed to soar past the x86 world once and for all.

However, things are still not perfect. As the Apple performance monitoring tool Shark reveals, much of the CPU time of graphically intensive applications is squandered on poorly optimized metric to English unit conversions:

shark_metric_expose.jpg

Posted by jan at October 25, 2003 03:19 PM | TrackBack
Comments

FIRST!!! finally!

Posted by: Nick on October 25, 2003 04:44 PM

Hmm, I wonder if they're using that wonderful VAX/VMS unit of measurement, the micro-fortnight. If they standardized on the obsolete "seconds", it may explain a lot of the slowness.

Posted by: U. D. Mann on October 25, 2003 05:17 PM

How interesting....I will need more time to investigate this as clearly it is evidence of a direct link between Apple and the EU plotting to overthrow corporate America by forcing them to rely upon a metrically based OS! This IS IMPORTANT NEWS!

Posted by: Laemkral on October 25, 2003 11:36 PM

Hah! Fun.

But.. will this "rumored" G5 be truly faster?

I have a Beige G3 300 MT (32 megs of video ram) and an early G4 450 both running OS X 10.2.8.. According to this article, the G4 models have greatly improved metric capabilities. However, I don't see a spectacular difference between the 2. Sure, the G4 can handle Finder with more easiness, but once you start doing something more cpu-intensive, there's basically no substantial difference between the 2.

The question is, is it worth waiting for G5 rev B and its monster conversion chip, or will the current selection of models suffice for another 5-8 years?

And bah. Everyone else is using Metric. Time to recognize the standards, ppl!

Posted by: SilverDemon on October 26, 2003 12:14 AM

SilverDemon,

There are two reasons why your G4 is only marginally improved: 1) The earlier G4s had a somewhat crippled Velocity Engine (AKA Metric Conversion Engine), and indeed, could hardly be considered G4s at all. Thus, metric conversion performance was rather myopic. 2) Obviously you would only see more improvement in graphics-intensive applications like the Finder—since where else would you need to measure things? Also, the Finder is written with the legacy Carbon framework, which uses extremely poor metric conversion routines compared to the native versions: these were originally written for the 68k processors, and are basically being emulated within OS X! Needless to say, this results in rather poor metric conversion performance, which is why you don't generally see the same fancy graphics in Carbon apps as you do in Cocoa ones: it's just too slow.

As for your claim that everyone is using metric, and that we should too, I say to you: bah! Ever heard of the Declaration of Independence? It is by following the spirit of that hallowed document that I formulated my philosophy, that of self-reliance. Never should we have our measurement system dictated to us by other countries! As Emerson tells us, we should "abide by our spontaneous impression with good-humored inflexibility then most when the whole cry of voices is on the other side. Else to-morrow a stranger will say with masterly good sense precisely what we have thought and felt all the time, and we shall be forced to take with shame our own opinion from another." Stand true to our measurement system! Never give in! Tell mother I went down fighting!

Posted by: Jan on October 26, 2003 12:55 AM

Jan, you are a true warrior of the human race, and you shall be remembered by all should you fall in glorious combat against the GMC in an effort to protect our noble (usually) species! I would award you with something but I am but a mere civilian who can do nothing of the sort as set down in the laws of our government. So, I say to you....watch out for the flying poo when you go into battle, I hear its a pain to remove should you have an open casket viewing. Also, would you like Spring Fresh, Tropical Delight, or Woodland as the scent for masking the smell of fecal matter still adhereing to your dead corpse?
May God watch over you!

Posted by: Laemkral on October 26, 2003 02:28 AM

Jan,

Ahh.. I see. That explains a lot of things, thanks! But that still doesn't answer my question. I'm in desperate need of a new mac, and should I wait for rev b or not? I understand that it will be better, but is it worth the wait?


Hm. Decleration of Independance? I'm not american. I wasn't born in america. I lived in america for 8 years, and now that I'm back, I feel more independent and "free" than I ever was. And besides. The metric system is just more comfortable to use. I could never remember how many inches there are in a foot and what's the boiling point in Fº. Eh. It's not an efficient system. :P

Posted by: SilverDemon on October 27, 2003 02:30 AM

you couldn't remember that there were 12 inches in a foot?

wow.

Posted by: Nick on October 27, 2003 06:35 PM

No, really. I thought there were 16. And 64 feet in a yard.
But oh, what was I thinking. Those numbers are way too "precise" for the "standard" system :)

Posted by: SilverDemon on October 28, 2003 08:06 PM

Haha, OK then lets go back to measure things with our bodyparts ... ; )

Posted by: Tice on October 29, 2003 11:40 AM

Jan, I think there are actual 12 feet in a yard and three inches in a foot...

right?

and there are 5 fingers on an elbow that when converted to the US metric actually equals 4.7 fingers per elbow.

Posted by: Ctan on October 29, 2003 10:57 PM

My arm is 5 fingers long. And my finger is 2 noses long. My hand is 3.2 arms long, and I am 2 legs long.

Now you have an idea of how I look.

Posted by: Comment Space Waster Pro™ 1.1.1 on October 30, 2003 12:03 PM

Interesting, SilverDemon. Should we Americans adopt intuitive weight measurements like the "stone"?

8 years and you never got that whole inches to feet thing, huh?

Posted by: UglyAmerican on October 30, 2003 03:04 PM

I guess the people who figured out the measuring systems in the US were not in contact with eachother.

16 ounces = 1 pound
12 inches = 1 foot

There's no systematic approach. Damn hippies!

Posted by: BrownTongue on October 30, 2003 04:22 PM

LOL.

Well, I agree with BrownTongue. There is just no systematic apporach.
I don't really care what you use - and I'm quite positive that you don't give a damn about what I think you should use. So let's just leave it at that, and let us all just live happily together in this virtual world of bytes and KILObytes :D

Hey, at least there are 100 pennies in a dollar and no 12-dollar bills. Actually, that would rule.

And I thought that pounds was the currency system in England..

Posted by: SilverDemon on October 30, 2003 07:31 PM

How do Europeans by their weed?

I mean, I usually grab a 1/4 or 1/2 oz. at a time, but what are the normal weights if I were to visit the UK?

Posted by: UglyAmerican on October 31, 2003 02:42 PM

Whoops, I meant "buy". And no, I'm not baked right now; I just can't spell.

Posted by: UglyAmerican on October 31, 2003 02:43 PM

Yes you are baked. The same English system you use in the US to buy your weed they use in the UK (funny that?).

Posted by: fifteen inches of funk on November 17, 2003 02:48 AM
Post a comment