From 816ed1b0bdd3f50375bef334a41e5f20d58910f9 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Sun, 4 Jan 2004 03:47:51 +0000 Subject: SF patch #868736: Disable GC for timeit Make timings more consistent by temporarily disabling GC. --- Lib/timeit.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Lib/timeit.py b/Lib/timeit.py index 7829395..8c0f7a5 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. -- cgit v0.12