Commit 816ed1b0 authored by Raymond Hettinger's avatar Raymond Hettinger

SF patch #868736: Disable GC for timeit

Make timings more consistent by temporarily disabling GC.
parent 4cd5a08d
...@@ -51,6 +51,7 @@ use python -O for the older versions to avoid timing SET_LINENO ...@@ -51,6 +51,7 @@ use python -O for the older versions to avoid timing SET_LINENO
instructions. instructions.
""" """
import gc
import sys import sys
import time import time
try: try:
...@@ -155,7 +156,12 @@ class Timer: ...@@ -155,7 +156,12 @@ class Timer:
it = itertools.repeat(None, number) it = itertools.repeat(None, number)
else: else:
it = [None] * number 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): def repeat(self, repeat=default_repeat, number=default_number):
"""Call timeit() a few times. """Call timeit() a few times.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment