On Sun, Sep 30, 2012 at 6:43 PM, Massimo Di Pierro
<[email protected]> 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
--