Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit abe9dc3

Browse files
committed
Issue 12514: Use try/finally to assure that timeit restores GC when done.
2 parents 1d8b968 + 3a081f5 commit abe9dc3

3 files changed

Lines changed: 9 additions & 3 deletions

File tree

Lib/timeit.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -191,9 +191,11 @@ def timeit(self, number=default_number):
191191
it = [None] * number
192192
gcold = gc.isenabled()
193193
gc.disable()
194-
timing = self.inner(it, self.timer)
195-
if gcold:
196-
gc.enable()
194+
try:
195+
timing = self.inner(it, self.timer)
196+
finally:
197+
if gcold:
198+
gc.enable()
197199
return timing
198200

199201
def repeat(self, repeat=default_repeat, number=default_number):

Misc/ACKS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -771,6 +771,7 @@ Chris Rebert
771771
Marc Recht
772772
John Redford
773773
Terry Reedy
774+
Gareth Rees
774775
Steve Reeves
775776
Lennart Regebro
776777
Ofir Reichenberg

Misc/NEWS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,9 @@ Library
246246

247247
- Issue #12603: Fix pydoc.synopsis() on files with non-negative st_mtime.
248248

249+
- Issue #12514: Use try/finally to assure the timeit module restores garbage
250+
collections when it is done.
251+
249252
- Issue #12607: In subprocess, fix issue where if stdin, stdout or stderr is
250253
given as a low fd, it gets overwritten.
251254

0 commit comments

Comments
 (0)