Sorry, I have to correct my last posting again: > > Disabling the gc may not be a good idea in a real application; I suggest > > you to play with the gc.set_threshold function and set larger values, at > > least while building the dictionary. (700, 1000, 10) seems to yield good > > results. > > python2.5 -m timeit 'gc.set_threshold(700,1000,10);l=[(i,) for i in > > range(2000000)]' > > 10 loops, best of 3: 658 msec per loop >
Looks nice, but it is pointless, as timeit disables gc by default, and the set_threshold hence has no effect. In order to see the real effect of this, I need to say > python2.5 -m timeit 'gc.enable();gc.set_threshold(700,1000,10);l=[(i,) for i > in range(2000000)]' which gives me 10 loops, best of 3: 1.26 sec per loop Still a factor of more than 10 faster than the default settings. > which made me suggest to use these as defaults, but then > Martin v. Löwis wrote that > > > No, the defaults are correct for typical applications. Complex topic... -- http://mail.python.org/mailman/listinfo/python-list