At PyCon some people have suggested that they would like the ability to switch off some web2py functionality to make it faster. I never thought of this being an issue because I do not think web2py does much outside models/views and controllers.
I run a lot of tests today using a barebone def index(): return 'hello world' controller (no view, no model) and I discovered, to my surprise that even in this simple case, web2py spends huge amount of time saving sessions even if not used (~40ms/request on my laptop). This is also a problem because if you have many passive visitors web2py creates a lot of empty session files that fills the sessions folder and slow down the file system even more. I made some changes so that sessions are no longer saved if not modified or empty. For my simple code, the running time went down to 4ms/request. That is 10x than before. That is only 5x the bare Rocket or Tornado speed (considering it is still checking for session, doing routing, parsing input and performing a lot of checks, and a lot of other stuff). I do not think it should break anything and you should feel it snappier immediately. Give it a try and let me know. Try run ab -n 1000 with both web2py 1.93.1 and trunk for your app. Let me know what you get. Enjoy! Massimo