Conversation
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
0928fb9 to
cf0ba12
Compare
|
Reviewed and tested locally (ran both the old and new script, sequential and First: the speedup is real and reproduces here — 1m52s → 36s on a full run. The per-program cache-file design is the right way to parallelize this, and splitting the monolithic Three things should be fixed before this is merged, though. 1. The script now always exits 0 (major)
This contradicts the script's own header comment ("If an issue has been encountered with any tool's tests, ... the script will exit with a non-zero status code") and breaks any gating on Suggested fix: drop 2.
|
Sequential testcoverage analysis for each tool makes the runtime of the script unnecessarily long. Instead we can analyse N tools at a time as background jobs in the shell, where N is the number of CPUs on the system. This execution behavior can be invoked with the
--paralleloption.Runtime difference
Sequential run
$ time make testcoverage ... real 3m7.772s user 1m44.312s sys 2m55.140sMultiprocess execution
Unfortunately, this refactor involved many necessary functional changes that make the diff a bit ugly. Sorry :(