TurboGears silly performance test
After working some weeks on TurboGears, a doubt arose: how good is TG performance? After I had heard some scary stories about Plone serving no more than 1 page/second, I began to worry.
I know, I know, early optimization is bad, and TG is meant for systems, not for fast static serving, but I had to know. And the results were not so bad, given that TG runs a Python internal web server.
The server was a Thinkpad T41 notebook, not the fastest machine in the world.
The numbers:
Static page served by Apache, thttp or lighttpd: 690 reqs/s
Static PHP page served by Apache: 394 reqs/s
TG, welcome.kid template w/ development configuration (with logs etc.): 70 reqs/s
TG w/ sample "production" config: 73 reqs/s (not much gain here)
TG production serving truly static content (e.g. static/css): 207 req/s
So the conclusion is, a correctly configured TG runs about 9 times slower than Apache, and 5 times slower than PHP. For me it seems to be a very good result, since TG web server is coded in Python.

