From: Raymond Hettinger Date: Sun, 4 Jan 2004 03:47:51 +0000 (+0000) Subject: SF patch #868736: Disable GC for timeit X-Git-Tag: v2.4a1~975 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=816ed1b0bdd3f50375bef334a41e5f20d58910f9;p=thirdparty%2FPython%2Fcpython.git SF patch #868736: Disable GC for timeit Make timings more consistent by temporarily disabling GC. --- diff --git a/Lib/timeit.py b/Lib/timeit.py index 782939526662..8c0f7a539928 100644 --- a/Lib/timeit.py +++ b/Lib/timeit.py @@ -51,6 +51,7 @@ use python -O for the older versions to avoid timing SET_LINENO instructions. """ +import gc import sys import time try: @@ -155,7 +156,12 @@ class Timer: it = itertools.repeat(None, number) else: it = [None] * number - return self.inner(it, self.timer) + gcold = gc.isenabled() + gc.disable() + timing = self.inner(it, self.timer) + if gcold: + gc.enable() + return timing def repeat(self, repeat=default_repeat, number=default_number): """Call timeit() a few times.