summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2023-01-07 15:01:13 -0500
committerNed Batchelder <ned@nedbatchelder.com>2023-01-07 15:12:26 -0500
commitb3b05bdfdd20ab14004396cfcceeabe23e61cb41 (patch)
tree4a0ab48d5f8da23a6437dbc6f6e0425ba6a77acb
parentd00f1dd24960db7a4bbcb9b1cfd10646dfb2c850 (diff)
downloadpython-coveragepy-git-b3b05bdfdd20ab14004396cfcceeabe23e61cb41.tar.gz
perf: the file mapping cache was off by mistake. #1527
-rw-r--r--CHANGES.rst7
-rw-r--r--CONTRIBUTORS.txt1
-rw-r--r--coverage/collector.py2
3 files changed, 8 insertions, 2 deletions
diff --git a/CHANGES.rst b/CHANGES.rst
index 19d4135f..b7a7a235 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -20,7 +20,12 @@ development at the same time, such as 4.5.x and 5.0.
Unreleased
----------
-Nothing yet.
+- Performance: an internal cache of file names was accidentally disabled,
+ resulting in sometimes drastic reductions in performance. This is now fixed,
+ closing `issue 1527`_. Thanks to Ivan Ciuvalschii for the reproducible test
+ case.
+
+.. _issue 1527: https://github.com/nedbat/coveragepy/issues/1527
.. _changes_7-0-3:
diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt
index af6c4c26..012963d1 100644
--- a/CONTRIBUTORS.txt
+++ b/CONTRIBUTORS.txt
@@ -81,6 +81,7 @@ Hugo van Kemenade
Ilia Meerovich
Imri Goldberg
Ionel Cristian Mărieș
+Ivan Ciuvalschii
J. M. F. Tsang
JT Olds
Jerin Peter George
diff --git a/coverage/collector.py b/coverage/collector.py
index a3c537d6..ab743ee3 100644
--- a/coverage/collector.py
+++ b/coverage/collector.py
@@ -433,7 +433,7 @@ class Collector:
plugin._coverage_enabled = False
disposition.trace = False
- @functools.lru_cache(maxsize=0)
+ @functools.lru_cache(maxsize=None) # pylint: disable=method-cache-max-size-none
def cached_mapped_file(self, filename: str) -> str:
"""A locally cached version of file names mapped through file_mapper."""
return self.file_mapper(filename)