如何使lcov更快地执行

How to make lcov perform faster?

本文关键字:执行 何使 lcov      更新时间:2023-10-16

lcov出现性能问题。

我正在七个不同的配置文件中执行一个程序,收集每个配置文件的覆盖范围,然后将覆盖范围配置文件与lcov:合并

lcov --rc lcov_branch_coverage=1 -a coverage_1.dat -a coverage_2.dat -a coverage_3.dat -a coverage_4.dat -a coverage_5.dat -a coverage_6.dat -a coverage_7.dat -o coverage_full.dat

然而,这是极其缓慢的。组合我的7个概要文件大约需要10分钟,这实际上比编译和运行7个概要要长。每个dat文件大约有1M行。

CCD_ 1和CCD_。他们每人大约45秒。

有没有办法加快这个联合收割机的步伐?如果需要的话,我可以使用几个线程,而且我有足够的内存。如果有其他工具能够正确地进行这种组合,我也会感兴趣(我曾试图将文件转换为Cobertura,并使用我找到的Python脚本进行合并,但它崩溃了)。

如果有完全替代lcov的方案,我也很感兴趣。我一直在使用gcovr,但有了它,我必须使用其他几个工具来进行组合,它不是最佳的,但速度要快得多。

如果有完全替代lcov的方案,我也很感兴趣。

试试fastcov-它将并行使用所有可用的核心(它可以以lcov信息格式输出报告):

https://github.com/RPGillespie6/fastcov

它还可以组合文件。注意:您需要GCC 9+