@mcm: you got me worried. Your test function was clocking a hell lower than 
the original script. But then I found out why; one order of magnitude less 
(5000 vs 50000). Once that was corrected, you got the exact same clock 
times as "my app" (i.e. function directly in the controller). I also 
stripped out the logging part making the app just return the result and no 
visible changes to the timings happened.

@hh: glad at least we got some grounds to hold on. 
@mariano: compiled or not, it doesn't seem to "change" the mean. a compiled 
app has just lower variance. 

@all: jlundell definitively hit something. Times are much more lower when 
threads are 1.

BTW: if I change "originalscript.py" to 

# -*- coding: utf-8 -*-
import time
import threading

def test():
    start = time.time()
    x = 0.0
    for i in range(1,50000):
        x += (float(i+10)*(i+25)+175.0)/3.14
    res = str(time.time()-start)
    print "elapsed time: "+ res + '\n'

if __name__ == '__main__':
    t = threading.Thread(target=test)
    t.start()
    t.join()

I'm getting really close timings to "wsgi environment, 1 thread only" 
tests, i.e. 
0.23 min, 0.26 max, ~0.24 mean

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to