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

-- 



Reply via email to