> > > Place all the code in a function. Even without psyco you might get > > > somewhat better performances then. And I doubt psyco can optimise code > > > that isn't in a function anyway.
Another thing I wasn't considering is that the first call with psyco enabled might be slower. The 2nd time the psyco-compiled function is called is where the speed improvement may be present. With the code at the bottom, I get these results: without psyco = 0.000421282593179 first call with psyco = 0.000902349320933 with psyco = 5.30793718196e-005 first call with psyco = 114.190981432 % slower 2nd call with psyco = 87.400530504 % faster import time import psyco def test(l): result = 0 for item in l: result += item return result l = list(range(0, 1000)) t1 = time.clock() l2 = test(l) t2 = time.clock() no_psyco = t2 - t1 psyco.log() psyco.bind(test) t1 = time.clock() l2 = test(l) t2 = time.clock() first_call_with_psyco = t2 - t1 t1 = time.clock() l2 = test(l) t2 = time.clock() with_psyco = t2 - t1 print 'without psyco = ',no_psyco print 'first call with psyco = ',first_call_with_psyco print 'with psyco = ',with_psyco first_delta = ((no_psyco - first_call_with_psyco)/no_psyco) * 100 delta = ((no_psyco - with_psyco)/no_psyco) * 100 if(first_delta > 0): result = 'faster' else: result = 'slower' print 'first call with psyco = ',abs(first_delta),'% ',result if(delta > 0): result = 'faster' else: result = 'slower' print '2nd call with psyco = ',abs(delta),'% ',result -- http://mail.python.org/mailman/listinfo/python-list