On Mar 17, 2011, at 7:40 AM, Anthony wrote:
> In the book under "Efficiency Tricks" it says:
>  
> Set session.forget() in all controllers and/or functions that do not change 
> the session.
>  
> Does this new change make it unnecessary to bother calling session.forget() 
> in most cases because sessions are no longer saved when empty or not modified?

There's at least one reason to call session.forget(): it unlocks the session 
file, allowing other requests in the same session to proceed. 

This won't be useful in all cases, since there may not *be* other requests 
pending. But it's a very lightweight call, so it doesn't do any harm.

>  
> Thanks.
>  
> Anthony
> 
> On Monday, March 14, 2011 11:40:38 PM UTC-4, Massimo Di Pierro 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 
> 


Reply via email to