[Python-checkins] bpo-41364: Reduce import overhead of uuid module (GH-21586)

Steve Dower webhook-mailer at python.org
Wed Jul 22 07:26:42 EDT 2020


https://github.com/python/cpython/commit/a18f22ab11a7bfb5ff3e74c737ca9e1bebe4abf9
commit: a18f22ab11a7bfb5ff3e74c737ca9e1bebe4abf9
branch: 3.8
author: Steve Dower <steve.dower at python.org>
committer: GitHub <noreply at github.com>
date: 2020-07-22T12:26:37+01:00
summary:

bpo-41364: Reduce import overhead of uuid module (GH-21586)

files:
A Misc/NEWS.d/next/Library/2020-07-21-21-45-55.bpo-41364.5O-k7A.rst
M Lib/uuid.py

diff --git a/Lib/uuid.py b/Lib/uuid.py
index 188e16ba14e37..9540c21e6569f 100644
--- a/Lib/uuid.py
+++ b/Lib/uuid.py
@@ -45,7 +45,6 @@
 """
 
 import os
-import platform
 import sys
 
 from enum import Enum
@@ -54,10 +53,13 @@
 __author__ = 'Ka-Ping Yee <ping at zesty.ca>'
 
 # The recognized platforms - known behaviors
-_AIX     = platform.system() == 'AIX'
-_DARWIN  = platform.system() == 'Darwin'
-_LINUX   = platform.system() == 'Linux'
-_WINDOWS = platform.system() == 'Windows'
+if sys.platform in ('win32', 'darwin'):
+    _AIX = _LINUX = False
+else:
+    import platform
+    _platform_system = platform.system()
+    _AIX     = _platform_system == 'AIX'
+    _LINUX   = _platform_system == 'Linux'
 
 RESERVED_NCS, RFC_4122, RESERVED_MICROSOFT, RESERVED_FUTURE = [
     'reserved for NCS compatibility', 'specified in RFC 4122',
@@ -688,9 +690,9 @@ def _random_getnode():
 #     @unittest.skipUnless(_uuid._ifconfig_getnode in _uuid._GETTERS, ...)
 if _LINUX:
     _OS_GETTERS = [_ip_getnode, _ifconfig_getnode]
-elif _DARWIN:
+elif sys.platform == 'darwin':
     _OS_GETTERS = [_ifconfig_getnode, _arp_getnode, _netstat_getnode]
-elif _WINDOWS:
+elif sys.platform == 'win32':
     _OS_GETTERS = [_netbios_getnode, _ipconfig_getnode]
 elif _AIX:
     _OS_GETTERS = [_netstat_getnode]
diff --git a/Misc/NEWS.d/next/Library/2020-07-21-21-45-55.bpo-41364.5O-k7A.rst b/Misc/NEWS.d/next/Library/2020-07-21-21-45-55.bpo-41364.5O-k7A.rst
new file mode 100644
index 0000000000000..f136e892ae5fe
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2020-07-21-21-45-55.bpo-41364.5O-k7A.rst
@@ -0,0 +1 @@
+Reduce import overhead of :mod:`uuid`.



More information about the Python-checkins mailing list