]> granicus.if.org Git - python/commitdiff
SF patch #868736: Disable GC for timeit
authorRaymond Hettinger <python@rcn.com>
Sun, 4 Jan 2004 03:47:51 +0000 (03:47 +0000)
committerRaymond Hettinger <python@rcn.com>
Sun, 4 Jan 2004 03:47:51 +0000 (03:47 +0000)
Make timings more consistent by temporarily disabling GC.

Lib/timeit.py

index 7829395266623b0548e0595f9797084eddb8b1ea..8c0f7a539928869a60cabd83f80cd7e41c958179 100644 (file)
@@ -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.