keilMDK 的优化水平在下降吗,同个项目文件,MDK3.5 的优化 比MDK 4.10的好些?
还是上次的stm32sky001,优化等级-O3MDK 3.5
Program Size: Code=25736 RO-data=3888 RW-data=672 ZI-data=7464
MDK 4.10
Program Size: Code=26346 RO-data=3902 RW-data=672 ZI-data=7464 code小就是优化强? 反之就弱?
把运算换成查表法size变大了,是优? 是劣?
当然,我不是说4.10就一定强,你需要找出具体差异处,然后看看具体的指令,就知道哪个更强了. 我也发现同样问题 还没有找到答案. 对比下map文件,看看是哪里大了. 回复【1楼】aozima
code小就是优化强? 反之就弱?
把运算换成查表法size变大了,是优? 是劣?
当然,我不是说4.10就一定强,你需要找出具体差异处,然后看看具体的指令,就知道哪个更强了.
-----------------------------------------------------------------------
当然还要看执行速度,但是,按照常理,同样的选项下(有个选项是优化时间的,我没选),应该是新版本代码更少的吧。
刚刚选了优化时间再重新编译,发现变得更大了
Program Size: Code=31226 RO-data=4022 RW-data=672 ZI-data=7464
但是我认为这是正常的。 对比了前后的map文件.发现多个文件都比3.*的大了2~4字节,可以确认是4.*的armcc优化策略不同,但实在是不好找出具体的指令.不知道有什么方法可以快速查找? 我也正在查找,但是我找不到MDK输出汇编的选项,不然的话,可以用UE比较一下汇编文件,看看那里有差别。 找到一些区别:
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
3.80a
1594 176 341 2 112 12904 codec.o
1598 178 341 2 112 12592 codec.o
4.10
区别
;;;608 codec.offset = 0;
0000582000 MOVS r0,#0
00005a3568 ADDS r5,r5,#0x68
;;;609 codec.read_index = next_index;
00005c6068 STR r0,; codec
00005e802c STRH r4,
;;;610 if (next_index == codec.put_index)
0000608868 LDRH r0,; codec
00006242a0 CMP r0,r4
000064d109 BNE |L9.122|
;;;608 codec.offset = 0;
0000582000 MOVS r0,#0
00005af1050568 ADD r5,r5,#0x68
;;;609 codec.read_index = next_index;
00005e6068 STR r0,; codec
000060802c STRH r4,
;;;610 if (next_index == codec.put_index)
0000628868 LDRH r0,; codec
00006442a0 CMP r0,r4
000066d109 BNE |L9.124|
./bbs_upload/files_27/ourdev_537913.jpg 回复【7楼】aozima
-----------------------------------------------------------------------
谢谢你~~ 所以UV4也可以让你把工程返回到UV3的状态下去。
哥的帅不能当饭吃,想要贤慧的还是老的好。 回复【9楼】huike
所以UV4也可以让你把工程返回到UV3的状态下去。
哥的帅不能当饭吃,想要贤慧的还是老的好。
-----------------------------------------------------------------------
发现装了UV4,原来的UV3打开UV3的工程就不能编译通过了,应该是UV4设置了什么路径,使得UV3找不到原来的路径了。这个有什么解决办法?先装UV4再装UV3?
(因为CM0的缘故不得不装UV4) 装了MDK4之后编译速度比以前慢了很多 (因为CM0的缘故不得不装UV4)
同样原因, 而且是不得不升级了 ulink2 . 看看这里这不是我勾上了?
http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_549471.JPG
(原文件名:123.JPG)
页:
[1]