From 0a9406d915410038707adcf08f10a2668fb52d1d Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Thu, 27 Sep 2018 11:40:39 -0400 Subject: Faster combining --- coverage/sqldata.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'coverage/sqldata.py') diff --git a/coverage/sqldata.py b/coverage/sqldata.py index e9ccbede..a5e84aeb 100644 --- a/coverage/sqldata.py +++ b/coverage/sqldata.py @@ -331,15 +331,19 @@ class CoverageSqliteData(SimpleReprMixin): # See what we had already measured, for accurate conflict reporting. this_measured = self.measured_files() + other_files = set() + # lines if other_data._has_lines: for context in other_data.measured_contexts(): self.set_context(context) for filename in other_data.measured_files(): lines = set(other_data.lines(filename, context=context)) - filename = aliases.map(filename) - lines.update(self.lines(filename, context=context) or ()) - self.add_lines({filename: lines}) + if lines: + other_files.add(filename) + filename = aliases.map(filename) + lines.update(self.lines(filename, context=context) or ()) + self.add_lines({filename: lines}) # arcs if other_data._has_arcs: @@ -347,12 +351,14 @@ class CoverageSqliteData(SimpleReprMixin): self.set_context(context) for filename in other_data.measured_files(): arcs = set(other_data.arcs(filename, context=context)) - filename = aliases.map(filename) - arcs.update(self.arcs(filename, context=context) or ()) - self.add_arcs({filename: arcs}) + if arcs: + other_files.add(filename) + filename = aliases.map(filename) + arcs.update(self.arcs(filename, context=context) or ()) + self.add_arcs({filename: arcs}) # file_tracers - for filename in other_data.measured_files(): + for filename in other_files: other_plugin = other_data.file_tracer(filename) filename = aliases.map(filename) if filename in this_measured: -- cgit v1.2.1