首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使lcov表现得更快?

如何使lcov表现得更快?
EN

Stack Overflow用户
提问于 2016-05-13 13:48:23
回答 1查看 1.8K关注 0票数 10

我和lcov有表演上的问题。

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

代码语言:javascript
复制
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文件大约有100万行。

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

有什么办法来加速这个联合步骤吗?如果必要的话,我可以使用几个线程,而且我有足够的内存。如果有其他工具能够正确地完成这种组合,我也会感兴趣(我尝试将文件转换为Cobertura,并使用我找到的Python脚本进行合并,但是它崩溃了)。

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

EN

回答 1

Stack Overflow用户

发布于 2019-10-15 20:31:34

如果有一种完全替代lcov的方法,我也感兴趣。

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

https://github.com/RPGillespie6/fastcov

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37211721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档