For my own work, I've generally chosen ease-of-coding over the ability
to handle thousands of simultaneous requests on a single box. (Some
have argued that multithreaded programs aren't easy, but I guess
that's all a question of how one's brain works...)
Additionally, thread pooling is a simple optimization that can be added to "normal" code that can in many cases give you 90% of the benefit of a pure async-oriented approach like Twisted's, with much less complexity. (In some cases, thread pooling can even be faster, if it can spare you Twisted's overhead of a dozen or so function calls per operation...)
--
Jonathan Ellis
http://spyced.blogspot.com

