On Sun, 30 Mar 2008 01:27:18 -0300, Gabriel Genellina wrote: > Second try: ... > Horrible, I know. Those wrapper1,wrapper2,wrapper3... keep growing with > each call. But it's the only way I could find, at least without changing > the code template used by timeit.
Eeek. Talk about namespace pollution. Thanks for the effort, but if that's the only solution, I think the solution is worse than the problem! Perhaps it's time for me to take a different approach. Since I can't call timeit, and I can't inherit from it (same problem with state being shared between instances), perhaps I should write my own timer. import timeit import gc import itertools def timeit2(func, args=[], kwargs={}, it=None, timer=timeit.default_timer): if it is None: it = itertools.repeat(None, timeit.default_number) save_gc = gc.isenabled() gc.disable() try: start = timer() for counter in it: func(*args, **kwargs) end = timer() finally: if save_gc: gc.enable() return end - start Now to go and test it. -- Steven -- http://mail.python.org/mailman/listinfo/python-list