diff options
author | Björn Gustavsson <[email protected]> | 2019-02-06 14:24:51 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2019-02-11 14:54:44 +0100 |
commit | e6bdde9e927ad0933aaf36120cc740e2380567dc (patch) | |
tree | 1edd6f258afc6b6cfb6e9a477612f98cee908dbc /lib/tools/test/cover_SUITE_data | |
parent | ab5debc0869dbfa64e4afd4cd59404a56ce51d71 (diff) | |
download | otp-e6bdde9e927ad0933aaf36120cc740e2380567dc.tar.gz otp-e6bdde9e927ad0933aaf36120cc740e2380567dc.tar.bz2 otp-e6bdde9e927ad0933aaf36120cc740e2380567dc.zip |
Use the counters module to speed up cover
Use `counters:add/3` instead of `ets:update_counter/3`
for counting the number of times a line is executed.
By default, the reference to the counter array for each module will be
stored in a persistent term and retrieved every time a counter is
updated. This makes the compiler test suite with coverage enabled run
*almost* twice as fast (on my computer, in about 6 minutes down from
more than 11 minutes).
To get even more speed, the new `cover:local_only/0` function can be
called to put cover into a mode where the cover-compiled code can only
be run on the local node. In this mode, the cover-compiled modules in
a more efficient way by compiling the counter reference into the
code. This shaves off about one more minute, making the compiler test
suite with coverage enabled run *more than* twice as fast (in about 5
minutes on my computer).
Diffstat (limited to 'lib/tools/test/cover_SUITE_data')
0 files changed, 0 insertions, 0 deletions