On Mon, Oct 1, 2012 at 11:28 PM, Massimo Di Pierro <massimo.dipie...@gmail.com> wrote: > Does it support ssl?
Yes. > We need to benchmark it for non-linux environments. Also I am not sure about > the PycURL dependence for python2.5. PycURL is only need for the http client part, to act as a server, there is no need. > Can you send us instructions to build a single-file tornado server? As I said, once I did a single-file build of tornado 1.2.1. It wasn't an automatic build with some script magic, but instead, was made by hand and was surprisingly easy to join the essential parts. Today I look at tornado and they are in version 2.4. So I spend some time rebuild the single-file tornado. It was easier and smaller with version 1.2, but it is still easy. I put it on github (https://github.com/rpedroso/motor) with some instrutions. It was tested only in Linux, so may work (I hope) or not for others systems. I put the results of two ab benchmarks in the README (rocket vs monolithic tornado) of web2py trunk Ricardo > On Monday, 1 October 2012 16:27:11 UTC-5, Ricardo Pedroso wrote: >> >> On Sun, Sep 30, 2012 at 6:43 PM, Massimo Di Pierro >> <massimo....@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 > > -- > > > --