“Now, I am become Solaris, the destroyer of efficient coding”

A couple of weeks ago I attended the OpenSolaris stream of the Sun Microsystems’ “Tech Days 2007” developers conference in London (actually in a church at Westminster, just across from the houses of commons. In fact, whilst I was there I saw David Blunket being taken for a walk by his minder. His dog was galavanting around freely. This was also when the protesters were gathered outside trying to influence the vote over whether Britain should renew her Trident Missile system – and what a surprising eloquent, friendly, and outgoing group of people they were).

Amongst the many features of Solaris 10/OpenSolaris that were discussed was the kernel design now employed that makes everything a thread – at the expense of single-process performance. Their approach really seems to be to build a system which needs to run on (relatively) big-iron systems in order to get decent performance. Certainly, on single-core (or even dual-core) systems, even Sun admit that it will likely to more of a hinderance than a benefit.

With Zeus in mind, I did ask one of Sun’s chief engineers what this would mean for efficient single-process applications based on a tight select() loop (an approach that Apache is still struggling with) – and he answered with a shrug, saying that Solaris wasn’t deisgned to run non-threaded applications.

… which is great, until people start thinking that this sort of thing is acceptable standard practice.

(Apologies to Robert Oppenheimer)