【ARM 嵌入式 编译系列 2.6 -- GCC 编译时间统计参数 -ftime-report -Q 】

本文介绍了如何使用GCC的-ftime-report选项来详细统计编译过程中的各阶段时间,以及如何结合-Q选项获取更丰富的编译信息。
摘要由CSDN通过智能技术生成

===> ARM GCC 编译精讲系列课程链接 <===



请阅读【嵌入式开发学习必备专栏 之 ARM GCC 编译专栏】


文章目录

GCC 编译时间统计

如果你想要统计 GCC 编译过程中各个阶段的时间,可以使用 GCC 的 -ftime-report 选项。这个选项可以让编译器在编译结束后报告每个编译阶段所花费的时间。要使用这个选项,你可以在编译命令中加入它,如下所示:

gcc -o myprogram myprogram.c -ftime-report 
[02:19:31] (*^~^*) ~/sam$ gcc -o myprogram myprogram.c -ftime-report

Time variable                                   usr           sys          wall           GGC
 phase setup                        :   0.00 (  0%)   0.00 (  0%)   0.00 (  0%)  1298k ( 68%)
 phase opt and generate             :   0.00 (  0%)   0.00 (  0%)   0.01 (100%)    57k (  3%)
 initialize rtl                     :   0.00 (  0%)   0.00 (  0%)   0.01 (100%)    12k (  1%)
 TOTAL  

这将编译 myprogram.c 并链接为可执行文件 myprogram,同时在编译结束后输出一个报告,展示各个阶段(如解析、优化、代码生成等)所花费的时间。

请注意,-ftime-report 选项的输出是在编译过程完全结束之后才提供的,而且会输出到标准错误流(stderr),不是预处理器生成的警告信息。

另一个相关的 GCC 选项是 -Q,它可以和 -ftime-report 结合使用,以输出更多关于编译器所做工作的信息,包括哪些编译器选项被启用了。

gcc -o myprogram myprogram.c -ftime-report -Q 
[02:21:04] (*^~^*) ~/sam$ gcc -o myprogram myprogram.c -ftime-report -Q
 main
Analyzing compilation unit
Performing interprocedural optimizations
 <*free_lang_data> {heap 964k} <visibility> {heap 964k} <build_ssa_passes> {heap 964k} <opt_local_passes> {heap 964k} <remove_symbols> {heap 964k} <targetclone> {heap 964k} <free-fnsummary> {heap 964k}Streaming LTO
 <whole-program> {heap 964k} <fnsummary> {heap 964k} <inline> {heap 964k} <modref> {heap 964k} <free-fnsummary> {heap 964k} <single-use> {heap 964k} <comdats> {heap 964k}Assembling functions:
 <simdclone> {heap 964k} main
Time variable                                   usr           sys          wall           GGC
 phase setup                        :   0.00 (  0%)   0.00 (  0%)   0.00 (  0%)  1298k ( 68%)
 phase parsing                      :   0.00 (  0%)   0.00 (  0%)   0.01 (100%)   531k ( 28%)
 lexical analysis                   :   0.00 (  0%)   0.00 (  0%)   0.01 (100%)     0  (  0%)
 TOTAL                              :   0.00          0.00          0.01         1897k

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

主公讲 ARM

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值