From e743e94e540341465175a489e82f67d3da071e77 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Wed, 23 Oct 2013 22:19:26 -0400 Subject: Use sets as much as possible to speed HTML reports. Seems to be a 10% speedup. --- coverage/misc.py | 2 ++ 1 file changed, 2 insertions(+) (limited to 'coverage/misc.py') diff --git a/coverage/misc.py b/coverage/misc.py index 2d2662d..40fe8f7 100644 --- a/coverage/misc.py +++ b/coverage/misc.py @@ -38,6 +38,8 @@ def format_lines(statements, lines): i = 0 j = 0 start = None + statements = sorted(statements) + lines = sorted(lines) while i < len(statements) and j < len(lines): if statements[i] == lines[j]: if start == None: -- cgit v1.2.1 From e036fd59592273fd05f468c7da106515910d9147 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sun, 27 Oct 2013 10:29:13 -0400 Subject: Turns out we were spinning on Nones a lot in the Hasher. --- coverage/misc.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'coverage/misc.py') diff --git a/coverage/misc.py b/coverage/misc.py index 40fe8f7..0378173 100644 --- a/coverage/misc.py +++ b/coverage/misc.py @@ -115,8 +115,10 @@ class Hasher(object): self.md5.update(to_bytes(str(type(v)))) if isinstance(v, string_class): self.md5.update(to_bytes(v)) + elif v is None: + pass elif isinstance(v, (int, float)): - self.update(str(v)) + self.md5.update(to_bytes(str(v))) elif isinstance(v, (tuple, list)): for e in v: self.update(e) -- cgit v1.2.1