首页 论坛 芯片新品和产业资讯 北京交通大学 keil自带的ARMCC V5和V6 和 GCC编译器 编译用时和目标文件的大小

发帖 回复

[分享] keil自带的ARMCC V5和V6 和 GCC编译器 编译用时和目标文件的大小
1838 查看
3 回复
 楼主 | 发布于 2019-09-08 | 只看楼主
分享到:
经常在各个群里看到有人说ARMCC的V6编译器 编译速度有多快,编译出来的bin体积有多小。而在我的映像里 V6并没有这么神。

为了客观的对比各个编译器,我做了个简单的测试

条件:
1:一样的工程,除了CMSIS需要不一样的头文件之外,所有用户代码完全一致。
2:用秒表计时,开始计时和全部重新编译按钮同时按下,编译完成时停止。因为手动掐表,肯定会有误差,但是大致的可以参考。(正常使用的时候 零点几秒的时间差对使用体验的影响可以忽略)
3:ARMCC的V5 和 V6 都是keil的自带编译器,所以 IDE 是keil。 GCC的IDE是visual studio 2017 + visualGDB插件。
4:使用台式机编译,因为笔记本可能过热降频影响测试数据。CPU是 E3 1230 V2     4核8线程

编译的文件列表:


ARMCC V5的编译设置:


ARMCC V6的编译设置:



GCC的编译设置:




经过几次的编译测试得到以下数据:
优化选项 O0 O1 O2 O3 Ofast Os Oz
ARMCC  V6.9 bin大小(KB) 131.13 90.03 95.54 98.54 97.45 87.84kB 85.47
编译用时(秒) 7.23 7.52 7.99 8.3 8.4 8.17 7.64
ARMCC  V5.06 bin大小(KB) 77.18 64.49 61.19 61.44 - - - - - -
编译用时(秒) 7.93 8.25 8.15 9.68 - - - - - -
GCC  7.2 bin大小(KB) 176 135 136 144 - - 129 - -
编译用时(秒) 3.49 3.63 3.68 4.12 - - 3.96 - -



可以得知,GCC的编译速度是最快的(KEIL和visualGDB都是开启多线程编译的)。而bin体积最小的是ARMCC V5。代码的执行效率没有测。
而ARMCC V5和V6对比,编译用时差异不大,手动掐表可以认为是误差范围内。但是bin体积  V5比V6小很多。

结束。
(0 ) (0 )
回复 举报

回复于 2019-09-08 沙发

感谢分享
(0 )
评论 (0) 举报

回复于 2019-09-19 2#

谢谢分享!!!!
(0 )
评论 (0) 举报

回复于 2019-09-25 3#

bin大小的差别还是很大的。bin应该不是真实文件大小了吧?
(0 )
评论 (0) 举报
  • 发表回复
    0/3000





    举报

    请选择举报类别

    • 广告垃圾
    • 违规内容
    • 恶意灌水
    • 重复发帖

    全部板块

    返回顶部