On 9/25/12 3:21 PM, Andriy Kornatskyy wrote:
Tarek,

With all respect, running benchmark on something that has sleeps, etc is pretty 
far from real world use case. So I went a little bit different way.
That's not a good summary of what the function does. It does not just sleep. It does some I/O and CPU bound tasks. The sleep is here to simulate a blocking I/O call, besides the DB calls.

The whole function tries to simulate a real application, unlike printing 'Hello World' - to put the stack under realistic conditions.

The multiplication is cached by the processor, but will still push some CPU work on every call.


Here is a live demo (a semi real world web application) that comes with 
wheezy.web framework as a template:

http://wheezy.pythonanywhere.com/

I have implemented it in a way that it uses one web framework (wheezy.web) and 
various template engines (jinja2, mako, tenjin, wheezy.template and 
wheezy.template with preprocessor)... Please see the following post under `Real 
World Example` section:

http://mindref.blogspot.com/2012/07/python-fastest-template.html

Source code here:

https://bitbucket.org/akorn/wheezy.web/src/tip/demos/template

The real world example shows the difference between template engines 
implementing the same things. The same applies to web frameworks (more or less 
depending on your choice).

Thanks.
Great, thanks for the update ! -- that's cool to bench the template engines, but this is still not what I had in mind.

What I had in mind was to try each one of the framework with an application that does things, and see how the whole stack reacts on high load.

But I guess we have different goals - wheezy seems really fast, congrats.


Cheers
Tarek

Andriy


----------------------------------------
Date: Mon, 24 Sep 2012 13:50:31 +0200
From: ta...@ziade.org
To: python-list@python.org
Subject: Re: Fastest web framework

On 9/23/12 11:19 AM, Andriy Kornatskyy wrote:
I have run recently a benchmark of a trivial 'hello world' application for 
various python web frameworks (bottle, django, flask, pyramid, web.py, 
wheezy.web) hosted in uWSGI/cpython2.7 and gunicorn/pypy1.9... you might find 
it interesting:

http://mindref.blogspot.com/2012/09/python-fastest-web-framework.html

Comments or suggestions are welcome.

Thanks.

Andriy Kornatskyy

I would try this with a web app that does more than 'Hello World'

You may argue that you're just trying the server stack, but that's not
realistic because you don't really measure how the server behaves with a
real app.

Have a look at
https://github.com/mozilla-services/chaussette/blob/master/chaussette/util.py#L188

(setup_bench and teardow_bench have to be run on startup and tear down
of the server)

I would be curious to see how things goes then

Cheers
Tarek
--
http://mail.python.org/mailman/listinfo/python-list
                                        

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to