David Pollack quotes Sandra Boynton in the title of this more-interesting-for-grownups post: Prance with the Horses, Skittr with the Mice. David has provided a more complete example of his lift web framework for Scala. This example shows why I’m paying attention to what’s going on with Scala and lift.
The generally accepted way to do scaling in the LAMP world is to go for “shared nothing” as much as possible and throw more boxes at the problem. But what if you could have a reasonable (and extensible) syntax that performs really well and neatly supports event-driven applications that handle enormous numbers of simultaneous users getting Comet-style updates?
David claims that a single dual-core machine could handle 1M simultaneous users in his little Skittr application. I would be surprised if there wasn’t something unexpected that falls over before then, but the real point is that a single box can handle many users because of the speed of Scala and the Actor-based concurrency.
Don’t get me wrong: premature optimization remains the root of all evil. But, this doesn’t look like a bad way to put together apps, which means that the zippy performance is just a bonus, not a premature optimization.