On Sun, Sep 30, 2012 at 6:43 PM, Massimo Di Pierro <massimo.dipie...@gmail.com> wrote: > We can only package pure python web servers. Tornado does not meet this > requirement.
Tornado is pure Python and very fast - and even much faster with PyPy. It only has an optional C module for those who want to use epoll on Linux/Python2.5, if this module is not available it will use select, this is the logic in tornado at the end of ioloop.py: # Choose a poll implementation. Use epoll if it is available, fall back to # select() for non-Linux platforms if hasattr(select, "epoll"): # Python 2.6+ on Linux _poll = select.epoll elif hasattr(select, "kqueue"): # Python 2.6+ on BSD or Mac _poll = _KQueue else: try: # Linux systems with our C module installed import epoll _poll = _EPoll except Exception: # All other systems import sys if "linux" in sys.platform: logging.warning("epoll module not found; using select()") _poll = _Select It can be put in a single py module. I once did it with tornado version 1.2.1 and if I recall the size was around 40/50k of code The big difference with rocket is that it's not a threaded server. The recommended way is running one instance per CPU - this can be handled automatically by tornado. Ricardo --