I think Tornado is awesome since the applications you write can be read by normal people.
While Twisted is powerful (and as the poster said, in the same magnitude of performance), it has a tough learning curve.
Even if Tornado isn't successful, I think it just pushed the bar on how an async web framework can be written. I look forward to seeing other frameworks evolve as a response (I'm looking at you sinatra!).
I am shocked, SHOCKED I say, that nobody has brought up FapWS3 -> http://github.com/william-os4y/fapws3 , which runs about twice as fast for a "hello world" bench as Tornado, and wraps libevent for the async socket handling. As an added bonus, fapws3 can handle wsgi apps, django, etc...
I find twisted relatively easy to work with. There's no particular reason tornado can't sit atop twisted. Hopefully I'll get some time to do that this weekend.
The whole tornado vs. twisted thing is unfortunate, though. It exists in its current state because tornado is two different things: 1) a web framework 2) an async network stack.
#2 exists in core python and in twisted. If we transplant #1 to twisted, then it should be just as easy to develop web apps on twisted, except you get a whole lot of stuff for free.
FYI, I've pushed up some code. Unfortunately, tornado has no tests, so I'm absolutely certain it's not completely functional, but it works as far as I'm able to test a few things on localhost.
While Twisted is powerful (and as the poster said, in the same magnitude of performance), it has a tough learning curve.
Even if Tornado isn't successful, I think it just pushed the bar on how an async web framework can be written. I look forward to seeing other frameworks evolve as a response (I'm looking at you sinatra!).