From dffb90911a585a0921664c8b1c229d0883e65ee7 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Mon, 2 Dec 2024 20:45:36 -0600 Subject: Speed-up lazy heapq import in collections (gh-127538) --- Lib/collections/__init__.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Lib/collections/__init__.py b/Lib/collections/__init__.py index d688141..78229ac 100644 --- a/Lib/collections/__init__.py +++ b/Lib/collections/__init__.py @@ -59,6 +59,8 @@ try: except ImportError: pass +heapq = None # Lazily imported + ################################################################################ ### OrderedDict @@ -633,7 +635,10 @@ class Counter(dict): return sorted(self.items(), key=_itemgetter(1), reverse=True) # Lazy import to speedup Python startup time - import heapq + global heapq + if heapq is None: + import heapq + return heapq.nlargest(n, self.items(), key=_itemgetter(1)) def elements(self): -- cgit v0.12