gpt4 book ai didi

c++ - 如何让lcov执行得更快?

转载 作者:行者123 更新时间:2023-12-02 06:06:20 25 4
gpt4 key购买 nike

我遇到了 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行。

lcov --combinelcov --remove 步骤也非常慢。每人大约 45 秒。

有什么方法可以加快这个合并步骤吗?如有必要,我可以使用多个线程,并且我有足够的内存。如果有其他工具能够正确执行此组合,我也会感兴趣(我尝试将文件转换为 Cobertura 并与我找到的 Python 脚本进行合并,但它崩溃了)。

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

最佳答案

If there is an alternative to lcov completely, I'm also interested.

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

https://github.com/RPGillespie6/fastcov

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

关于c++ - 如何让lcov执行得更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37211721/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com