From 156699bca02dd2def844d03e26fc16a831336635 Mon Sep 17 00:00:00 2001 From: Yonatan Goldschmidt Date: Wed, 26 May 2021 01:40:23 +0300 Subject: bpo-44222: Improve _removeHandlerRef() for a very long _handlerList (GH-26325) The list lookups become a big burden for very long lists. This patch changes the "happy flow" path of 2 lookups into 1 lookup. Automerge-Triggered-By: GH:vsajip --- Lib/logging/__init__.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py index 555f598..7865b71 100644 --- a/Lib/logging/__init__.py +++ b/Lib/logging/__init__.py @@ -845,8 +845,9 @@ def _removeHandlerRef(wr): if acquire and release and handlers: acquire() try: - if wr in handlers: - handlers.remove(wr) + handlers.remove(wr) + except ValueError: + pass finally: release() -- cgit v0.12