> 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. > > And lastly, most of the code is probably spend computing x**2 which is > already optimised C code.
I've changed the code to include a class, method call, and function. Now the Psyco code is quite a bit slower. Is this a valid way to test Psyco's effects? When I run the following code I get this result: without psyco = 0.96840101186 with psyco = 1.82430169197 with psyco = 0.855900680114 slower The code: import time import psyco class Test(object): def __init__(self, value): self.value = value def foo(self): return reduce(lambda x,y : x + y, list(range(0,self.value))) def test(n): l = [Test(i) for i in range(1, n)] return [x.foo() for x in l] n = 1000 t1 = time.clock() l2 = test(n) t2 = time.clock() no_psyco = t2 - t1 psyco.full() t1 = time.clock() l2 = test(n) t2 = time.clock() with_psyco = t2 - t1 print 'without psyco = ',no_psyco print 'with psyco = ',with_psyco delta = (no_psyco - with_psyco) if(delta > 0): result = 'faster' else: result = 'slower' print 'with psyco = ',abs(delta),result -- http://mail.python.org/mailman/listinfo/python-list