summaryrefslogtreecommitdiffstats
path: root/Lib/timeit.py
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2011-07-29 06:56:38 (GMT)
committerRaymond Hettinger <python@rcn.com>2011-07-29 06:56:38 (GMT)
commit55e5e27b748443e41617bbd27c413b6af709df62 (patch)
tree6d8121abc7e3b9c1bb6833f2a6905477d0be31d9 /Lib/timeit.py
parent4af1c6a4fcd6557265e972a6c35d39a3b1604d6e (diff)
downloadcpython-55e5e27b748443e41617bbd27c413b6af709df62.zip
cpython-55e5e27b748443e41617bbd27c413b6af709df62.tar.gz
cpython-55e5e27b748443e41617bbd27c413b6af709df62.tar.bz2
Issue 12514: Use try/finally to assure that timeit restores GC when done.
Diffstat (limited to 'Lib/timeit.py')
-rw-r--r--Lib/timeit.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/Lib/timeit.py b/Lib/timeit.py
index a095313..da9e819 100644
--- a/Lib/timeit.py
+++ b/Lib/timeit.py
@@ -191,9 +191,11 @@ class Timer:
it = [None] * number
gcold = gc.isenabled()
gc.disable()
- timing = self.inner(it, self.timer)
- if gcold:
- gc.enable()
+ try:
+ timing = self.inner(it, self.timer)
+ finally:
+ if gcold:
+ gc.enable()
return timing
def repeat(self, repeat=default_repeat, number=default_number):