Tornado let loose by Facebook
Facebook has announced that it has released the code to Tornado Web Server, a python based web framework, as Apache 2.0 licensed open source. Tornado is the framework which powers Facebook's recent acquisition FriendFeed. FriendFeed has gained a good reputation for its rapid response times and real time updates on its social network aggregating service.
Bret Taylor, Facebook's Director of Products, details Tornado's components in a blog posting. Tornado comes with templates, signed cookies, user authentication, aggressive caching, cross site forgery protection and third party authentication. Using "long polling" or HTTP streaming, Tornado is capable of supporting large numbers of concurrent users; this allows for each user to have a open connection to the server and receive updates as they happen, rather than requesting an update and is far more efficient.
According to Taylor's benchmarks, Tornado also offers much higher performance than existing Python web frameworks. A multiple process Tornado server on a 4 core 2.4Ghz AMD Opteron system managed 8213 web requests per second, while a single threaded version managed 3353. This compares with Django at 2223 requests per second, Web.py at 2066 and CherryPy at 785.