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
>
> --
>
>
>

-- 



Reply via email to