I was excited too, never thought that tornado runs on Windows, where no epoll/kqueue is available. However, I'm ok with having a "normal" webserver (performance-wise, I expect to be at least fast as rocket/cherrypy) on Windows but a speedup under Linux, then I bumped into this
https://github.com/rpedroso/motor/blob/master/motor.py#L596 No Windows support for fork! Additionally, has the "tornado team" adopted fully the idea of supporting tornado under Windows ? Il giorno mercoledì 3 ottobre 2012 06:56:24 UTC+2, Massimo Di Pierro ha scritto: > > Please open a ticket your your proposal and the link. This is a serious > possibility! > Can the monolitic build be automated? > > On Tuesday, 2 October 2012 20:12:41 UTC-5, Ricardo Pedroso wrote: >> >> On Mon, Oct 1, 2012 at 11:28 PM, Massimo Di Pierro >> <massimo....@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 >> > >> > -- >> > >> > >> > >> > --