First, a message to bloggers. If you've got the bright idea to try some new kind of benchmark that pits Twisted against Tornado, take pause. Turn off your computer, step into a public area, and reconsider your life's goals. The internet does not need another pointless network performance graph.

With that out of the way, it's become clear that the Pissing Contest of the Day, Twisted.web vs. Friendfeed's Tornado web framework, reveals that neither side of the argument is particularly right, but both sides are particularly stupid.

First, Twisted. Now, my company uses Twisted for a small piece of functionality because it was the easiest way that we found to send traffic over different network interfaces on a Linux machine. We never have any problems with it. The only reason I ever need to touch it is to see how something works. 

However, Twisted is probably the douchiest programming library out there. Every time I open up that code, I feel like I've wandered into a late-night bar on the Jersey Shore where everybody's drinking Jager-bombs, and nobody is wearing a shirt.  Twisted is a cool network library, but not cool enough to be named "Twisted".  It's the Python programmer's version of Ed Hardy clothing and a baseball cap with the tag still hanging off the side.  When I'm digging around in this code and my co-workers ask me what's up, the only appropriate response is "NOT NOW CHIEF. I'M STARTIN' THE FUCKIN' REACTOR."

Now you can see why there's so buttsore over Tornado.

Even though I advised against things like Tornado, Friendfeed still built it. From the graphs I've seen, Tornado is just marginally faster than Twisted at serving concurrent requests. Marginally. Evidently Friendfeed figured that tiny margin was enough justification to waste their time writing something that's been re-written by every developer that gets bored on the job.  A Python web framework? My mercy how original. I think that's one of the ending exercises of "Learn Python in 24 Hours".

Friendfeed spent a lot of time trying to optimize the queries per second graph, but maybe they should have spent more time optimizing this graph instead:

intuit-didnt-buy-mint-they-bought-a-license-to-stagnate.pngAnyway, when it comes to Twisted vs. Tornado for a Python web framework, I use Django. Why? Because it works, and my time is valuable.