https://github.com/python/cpython/commit/a95dca7b9891e673e77f868cac05b2068bce8b3a
commit: a95dca7b9891e673e77f868cac05b2068bce8b3a
branch: main
author: Bénédikt Tran <[email protected]>
committer: picnixz <[email protected]>
date: 2025-01-23T14:49:36Z
summary:
gh-118761: Improve import time for `pstats` and `zipfile` (#128981)
Importing `pstats` or `zipfile` is now roughly 20% faster.
This is achieved by removing type annotations depending on `typing`.
files:
A Misc/NEWS.d/next/Library/2025-01-18-11-24-02.gh-issue-118761.G8MmxY.rst
M Lib/pstats.py
M Lib/zipfile/__init__.py
diff --git a/Lib/pstats.py b/Lib/pstats.py
index 46e18fb7592a77..becaf35580eaee 100644
--- a/Lib/pstats.py
+++ b/Lib/pstats.py
@@ -29,7 +29,6 @@
from enum import StrEnum, _simple_enum
from functools import cmp_to_key
from dataclasses import dataclass
-from typing import Dict
__all__ = ["Stats", "SortKey", "FunctionProfile", "StatsProfile"]
@@ -69,7 +68,7 @@ class FunctionProfile:
class StatsProfile:
'''Class for keeping track of an item in inventory.'''
total_tt: float
- func_profiles: Dict[str, FunctionProfile]
+ func_profiles: dict[str, FunctionProfile]
class Stats:
"""This class is used for creating reports from data generated by the
diff --git a/Lib/zipfile/__init__.py b/Lib/zipfile/__init__.py
index 49c40032d848f1..b8b496ad9471f4 100644
--- a/Lib/zipfile/__init__.py
+++ b/Lib/zipfile/__init__.py
@@ -13,7 +13,6 @@
import sys
import threading
import time
-from typing import Self
try:
import zlib # We may need its compression method
@@ -606,7 +605,7 @@ def from_file(cls, filename, arcname=None, *,
strict_timestamps=True):
return zinfo
- def _for_archive(self, archive: ZipFile) -> Self:
+ def _for_archive(self, archive):
"""Resolve suitable defaults from the archive.
Resolve the date_time, compression attributes, and external attributes
diff --git
a/Misc/NEWS.d/next/Library/2025-01-18-11-24-02.gh-issue-118761.G8MmxY.rst
b/Misc/NEWS.d/next/Library/2025-01-18-11-24-02.gh-issue-118761.G8MmxY.rst
new file mode 100644
index 00000000000000..3b3f3f7d98c5d6
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2025-01-18-11-24-02.gh-issue-118761.G8MmxY.rst
@@ -0,0 +1,2 @@
+Reduce import time of :mod:`pstats` and :mod:`zipfile` by up to 20%, by
+removing unnecessary imports to :mod:`typing`. Patch by Bénédikt Tran.
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]