summaryrefslogtreecommitdiff
path: root/coverage/collector.py
diff options
context:
space:
mode:
authorNed Batchelder <nedbat@gmail.com>2014-10-01 07:32:19 -0400
committerNed Batchelder <nedbat@gmail.com>2014-10-01 07:32:19 -0400
commit1d7da3270eeac7eae00d63fddcb02c5e2710aa67 (patch)
tree95764069946790c4d3687a100948bc14dd9c0d36 /coverage/collector.py
parent4b61c85875c2927bb13efbfaed277f59e61c068c (diff)
parentc466bad3369f48a4955621a06c8b6ef096c50f91 (diff)
downloadpython-coveragepy-git-1d7da3270eeac7eae00d63fddcb02c5e2710aa67.tar.gz
Merged in alex_gaynor/coveragepy/alex_gaynor/improve-performance-of-coverage-under-py-1411425050845 (pull request #40)
Improve performance of coverage under PyPy.
Diffstat (limited to 'coverage/collector.py')
-rw-r--r--coverage/collector.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/coverage/collector.py b/coverage/collector.py
index 9c6288cd..66de8b61 100644
--- a/coverage/collector.py
+++ b/coverage/collector.py
@@ -23,6 +23,11 @@ except ImportError:
sys.exit(1)
CTracer = None
+try:
+ import __pypy__
+except ImportError:
+ __pypy__ = None
+
class Collector(object):
"""Collects trace data.
@@ -136,7 +141,10 @@ class Collector(object):
# A cache of the results from should_trace, the decision about whether
# to trace execution in a file. A dict of filename to (filename or
# None).
- self.should_trace_cache = {}
+ if __pypy__ is not None:
+ self.should_trace_cache = __pypy__.newdict("module")
+ else:
+ self.should_trace_cache = {}
# Our active Tracers.
self.tracers = []