diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2023-01-07 15:01:13 -0500 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2023-01-07 15:12:26 -0500 |
commit | b3b05bdfdd20ab14004396cfcceeabe23e61cb41 (patch) | |
tree | 4a0ab48d5f8da23a6437dbc6f6e0425ba6a77acb | |
parent | d00f1dd24960db7a4bbcb9b1cfd10646dfb2c850 (diff) | |
download | python-coveragepy-git-b3b05bdfdd20ab14004396cfcceeabe23e61cb41.tar.gz |
perf: the file mapping cache was off by mistake. #1527
-rw-r--r-- | CHANGES.rst | 7 | ||||
-rw-r--r-- | CONTRIBUTORS.txt | 1 | ||||
-rw-r--r-- | coverage/collector.py | 2 |
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) |