ClangBuildAnalyzer(-ftime-trace)

本文介绍如何使用ClangBuildAnalyzer分析大型项目中各文件的编译时间,包括设置Clang编译器参数、收集编译时间数据、解析数据以找出耗时最多的编译操作,如文件解析、代码生成等。

Clang 9+ -ftime-trace可以很方便地获取单个文件编译最耗时,但当一个工程中有多个文件需要构建时,如何找最耗时的操作就尤为重要,例如:在整个构建过程中那个文件编译最耗时,那个头文件包含最耗时,那个C++模板实例化最耗时,那个文件以及那个函数代码生成最耗时等。ClangBuildAnalyzer应运而生。

1 编译/安装ClangBuildAnalyzer

首先下载ClangBuildAnalyzer:

git clone https://github.com/aras-p/ClangBuildAnalyzer.git
or
git clone https://gitee.com/wangwenchaonj/ClangBuildAnalyzer.git

编译ClangBuildAnalyzer:

cd ClangBuildAnalyzer
make -f projects/make/Makefile

将ClangBuildAnalyzer添加到系统路径:

cd build
cp ClangBuildAnalyzer /usr/local/bin/
root@ubuntu:/home/~# ClangBuildAnalyzer
USAGE: one of
  ClangBuildAnalyzer --start <artifactsdir>
  ClangBuildAnalyzer --stop <artifactsdir> <filename>
  ClangBuildAnalyzer --analyze <filename>

2 待优化工程参数设置

设置clang编译器:

export CC=/usr/local/bin/clang
export CXX=/usr/local/bin/clang++

设置clang编译器-ftime-trace参数:

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ftime-trace")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}</
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值