OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2970|回复: 1

比较ARMCC编译器 V5,V6之间的差异

[复制链接]

7

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2014-2-4
在线时间
22 小时
发表于 2020-5-17 17:01:11 | 显示全部楼层 |阅读模式
之前一直用V5编译器的,要么编译很慢,要么取消browse information就不能快速跳转到符号定义了。
今天尝试把程序改到V6编译器,V6编译速度果然给力,但是代码质量如何呢,我做了下测试。
2个程序基本一样,第一个是32位+8位运算,第二个为8位运算为主,单片机为H743,使用keil仿真计时,并非在实际单片机上运行。程序不一样结果也有差别,结果仅供参考。
没有配置时钟,没有中断之类的命令,也没有用浮点。检验过CRC的结果。
测试代码:CRC16为8bit字节运算,2个排序算法则分别设置为8位和32位运算
        for(j=0;j<100;j++){
                for(i=0;i<size;i++)buf=i*234657681+56232;
                Heap_Sort(buf,size);
                for(i=0;i<size;i++)buf=i*234657681+56232;
                Insertion_Sort(buf,size);
                i=CRC16((u8*)buf,size);
        }

32位排序+8位CRC运算8位排序+8位CRC
ARMCC V6ARMCC V6
速度优化速度优化
优化运行时间代码长度运行时间代码长度优化运行时间代码长度运行时间代码长度
O0
9169
1632
8250
1628
O0
9678
1612
8691
1600
O1
2264
772
1705
1360
O1
2259
732
1765
1120
O2
1767
1552
1751
1392
O2
1853
1320
1798
1076
O3
1767
1552
1751
1392
O3
1853
1320
1798
1076
Of
1767
1552
1751
1392
Of
1853
1320
1798
1076
Os
2279
772
2112
676
Os
2269
736
2109
632
Oz
2467
672
2472
652
Of
2603
632
2603
644
ARMCC V5ARMCC V5
O0
2573
712
O0
2696
656
2696
656
O1
2187
668
2167
704
O1
2295
636
2276
676
O2
2185
660
2136
716
O2
2294
620
2244
692
O3
2185
664
2070
764
O3
2294
628
2180
736




正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2018-12-27
在线时间
0 小时
发表于 2020-5-17 17:01:11 | 显示全部楼层
帮顶,大家来帮忙解答一下。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-20 07:24

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表