]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-109653: Reduce import overhead of uuid module on Linux (#115160)
authorShantanu <12621235+hauntsaninja@users.noreply.github.com>
Wed, 6 Mar 2024 22:39:43 +0000 (14:39 -0800)
committerGitHub <noreply@github.com>
Wed, 6 Mar 2024 22:39:43 +0000 (14:39 -0800)
This follows in the footsteps of #21586
This speeds up import uuid by about 6ms on Linux.

Before:
```
λ hyperfine -w 4 "./python -c 'import uuid'"
Benchmark 1: ./python -c 'import uuid'
  Time (mean ± σ):      20.4 ms ±   0.4 ms    [User: 16.7 ms, System: 3.8 ms]
  Range (min … max):    19.6 ms …  21.8 ms    136 runs
```
After:
```
λ hyperfine -w 4 "./python -c 'import uuid'"
Benchmark 1: ./python -c 'import uuid'
  Time (mean ± σ):      14.5 ms ±   0.3 ms    [User: 11.5 ms, System: 3.2 ms]
  Range (min … max):    13.9 ms …  16.0 ms    175 runs
```

Lib/uuid.py
Misc/NEWS.d/next/Documentation/2024-02-08-08-51-37.gh-issue-109653.QHLW4w.rst [new file with mode: 0644]

index 470bc0d68597ab7087aad28bd6944c9bd9d25fc6..d4e486da15a8d7a60ccc26e69612a937298487a4 100644 (file)
@@ -53,8 +53,11 @@ from enum import Enum, _simple_enum
 __author__ = 'Ka-Ping Yee <ping@zesty.ca>'
 
 # The recognized platforms - known behaviors
-if sys.platform in ('win32', 'darwin', 'emscripten', 'wasi'):
+if sys.platform in {'win32', 'darwin', 'emscripten', 'wasi'}:
     _AIX = _LINUX = False
+elif sys.platform == 'linux':
+    _LINUX = True
+    _AIX = False
 else:
     import platform
     _platform_system = platform.system()
diff --git a/Misc/NEWS.d/next/Documentation/2024-02-08-08-51-37.gh-issue-109653.QHLW4w.rst b/Misc/NEWS.d/next/Documentation/2024-02-08-08-51-37.gh-issue-109653.QHLW4w.rst
new file mode 100644 (file)
index 0000000..97e0c8d
--- /dev/null
@@ -0,0 +1 @@
+Improve import time of :mod:`uuid` on Linux.