I have performance issues with lcov.
I run the program in seven different profiles, collecting coverage for each of them, and then merging the coverage profile with lcov:
lcov
However, it is painfully slow. It takes about 10 minutes to merge my 7 profiles, which is actually longer than it takes to compile and run 7 profiles. Each data file has about 1 M lines.
The steps lcov --combine and lcov --remove also very slow. About 45 seconds for each of them.
Is there a way to speed up this phase of the merger? If necessary, I can use several threads, and I have a lot of memory. If there is another tool that can correctly execute this combination, I would be interested too (I tried to convert the files to Cobertura and merge with the Python script that I found, but it crashes).
If there is a complete alternative to lcov, I am also interested. I use gcovr, but with this I have to use several other tools to perform the combination, and this is not optimal, but it is much faster.
source share