x86 Uber Alles

June 6, 2005

I guess John Gruber isn't as savvy as he thought he was:

Apple Announces Switch to Intel Chips

After seeing NT slowly shed its MIPS, Alpha, and PPC versions, you have to wonder: will our children be using architectures that emulate some form of x86?

Even with a flash new CPU powering it, Apple's OSX has some performance issues of its own to resolve. A recent AnandTech article by Johan De Galas documents OSX running Apache and MySQL 5-10 times slower than Linux on the same hardware. This is evidently due to a bizarre "worst of both worlds" kernel architecture where applications have no access to the kernel-level threads commonly used for performance reasons on Windows and Linux:

The server performance of the Apple platform is, however, catastrophic. When we asked Apple for a reaction, they told us that some database vendors, Sybase and Oracle, have found a way around the threading problems. We'll try Sybase later, but frankly, we are very sceptical. The whole "multi-threaded Mach microkernel trapped inside a monolithic FreeBSD cocoon with several threading wrappers and coarse-grained threading access to the kernel", with a "backwards compatibility" millstone around its neck sounds like a bad fusion recipe for performance.

Posted by Jeff Atwood
7 Comments

Er, no -- Gruber was wrong. Saavy doesn't mean "never wrong".

If anything, I would think that this has made him saavier than he was when he woke up Monday morning.

Ben Karel on June 6, 2005 10:56 AM

Well, he was pretty darn adamant that this could never happen:

"My prediction: I’ll be writing about this again in 2007."

Er.. lol, but not for the reasons he thought.

Jeff Atwood on June 6, 2005 11:04 AM

Sybase ASE performance could be explained by the fact that ASE wrote their own threading library (this was back in the day when OS threads were inconsistent across platforms, and since you can't have customer databases corrupted because of an OS thread bug, you write your own).

MySQL, as far as I know, uses native OS threading, so it would be susceptible to a poor OS thread implementation.

DBA on June 7, 2005 3:05 AM

a href="http://ridiculousfish.com/blog/?p=17"http://ridiculousfish.com/blog/?p=17/a
An Apple guy gives some reasons for possible MySQL slowness and also says that Anandtech doesn't know what they're talking about re: threads. And check the comments: One guy says that PCMag got faster numbers on an earlier OS X. Hmm.

Dezro on June 7, 2005 3:16 AM

Jeff,

Re-read the article. OSX running Apache and MySQL 5-10 times slower than Linux on similar hardware (x86), not the same hardware. In fact, they lament the fact that they should try Yellow Dog Linux on PPC.

Rizzo on June 7, 2005 8:05 AM

Johan De Galas runs Ace's Hardware ( http://www.aceshardware.com/ ) which is a fairly well known hardware site. I consider him fairly reputable. While there is always the possibility of human error, the specific low-level fork/newproc test results were just as bad and echoed the bad MySQL results.

Jeff Atwood on June 7, 2005 1:28 PM

And, just for historical completeness, anyone coming across this entry in the future should note that Gruber put out a "retrospective" article two days later.

a href="http://daringfireball.net/2005/06/bombs_away"http://daringfireball.net/2005/06/bombs_away/a

I'll let you form your own opinion of his writing, but I'll just note that I find it refreshing to see commentary that extends beyond "l0l what a n00b!!!11`oneone".

And Jesus, Jeff, let me repeat myself. I'll even (pretend to) bold random phrases in what I say -- perhaps that'll magically increase your understanding.

Gruber was *wrong*. ***Saavy doesn't mean "never wrong"***.




P.S.

MT::App::Comments=HASH(0x17b60ec) Use of uninitialized value in sprintf at C:\Inetpub\wwwroot\www.codinghorror.com\mtype\lib/MT/Template/Context.pm line 1187.

Ben Karel on June 15, 2005 1:52 PM

The comments to this entry are closed.