Very cool! It's always fun to see Massimo pull out a card like that and make the code itself better. Excited to give it a try on my systems. --- Best Regards, Jason Brower
On Tue, Mar 15, 2011 at 5:40 AM, Massimo Di Pierro < massimo.dipie...@gmail.com> wrote: > 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 > >