A short while ago I got the opportunity to compare the performance of a number of operating systems on the same piece of hardware.
Not wanting to spend my entire life running every form of benchmark known to man, I kept the exercise fairly simple. Run Primate Labs' Geekbench with different core configurations to determine processor scaling of each operating system.
The exercise was ran on RedHat Enterprise Linux 4, RedHat Enterprise Linux 5, Solaris 10 x86 and Windows Server 2003r2. The 32bit and 64bit Geekbench tests were ran, with 2 cores enabled, then 4, 8, 12, 16, 20 and finally all 24 cores enabled.
I had my preconceptions about how this would turn out. I firmly expected Solaris to be bottom of the pile, with RHEL5 at the top and Windows and RHEL4 fighting it out for the middle ground. What actually popped out was quite a surprise...
There was an odd scaling point there for Solaris, with little difference between 16 and 20 cores. I re-ran the tests just to make sure I hadn't messed up the data, but it turned out the same again. I didn't put any more effort into establishing why there was this anomaly, but I'm sure there must be some valid reason. This pattern just didn't see to add up.
Look at those numbers again - Microsoft have been doing some good work with Windows to make it competitive with Linux, but the real gain is to be had with Solaris x86.
In every core count, besides the oddballs at 16 and 20, Solaris produces better numbers. It's quicker at number crunching operations.
Benchmarks being benchmarks this, of course, doesn't tell the full story. An Operating System should be benchmarked against the task you want to do - be it running a web server, database, or a piece of ISV software.
However, the one thing you shouldn't do - as I would have in the past I'll admit - is discount Solaris 10 x86. Not only does it have the best filesystem and debugging tool in the business these days, it clearly also has the groundings of the best performance. Ignore it at your own peril.