9021|6

68

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

有没有比较过IAR与KEIL的编译效率? [复制链接]

                                 代码的效率,大小等。
此帖出自stm32/stm8论坛

最新回复

                                 你说的keil是老的自己编译器。keil原来自己的arm编译器实在是不咋的。新的keil已经使用了realview编译器了。   详情 回复 发表于 2008-10-8 13:35
点赞 关注
 

回复
举报

79

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

没有,俺一般都用到不到10%,哈哈……

                                  
此帖出自stm32/stm8论坛
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

吃饱了...

参考:keil3.22 iar5.11
跑dhrystone一秒多少循环。优化级别不一样,结果也不一样。最多快约一倍。
看来IAR编译器效率还是不如原厂ARM的。
keil:
-O0:43662   fortime 43662
-O1:53730   fortime 79119
-02:54960   fortime 98090
-O3:53650   fortime 99858
iar :
none 26191
-low 27016
-m   56425
-h   71427(forspeed)
此帖出自stm32/stm8论坛
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

4
 

IAR编译器效率不如ARM原厂

                                 就目前所知的IAR最优等级来看,IAR的编译效率还是不如keil
此帖出自stm32/stm8论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

5
 

还是看汇编实在。

程序的写法也很重要
功能差不多的程序,写法不一样。汇编就不一样。

// 1303 //=============================================================================
// 1304 // 10毫秒延迟
// 1305 //利用 TIM3 10 MS 的中断计算myclock.temp
// 1306 //=============================================================================

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock30 Using cfiCommon0
        CFI Function delay_10ms
        THUMB
// 1307 void delay_10ms(int nb)
// 1308 {
// 1309   myclock.temp=0;
delay_10ms:
        LDR.N    R1,??delay_10ms_0  ;; myclock + 16
        MOVS     R2,#+0
        STR      R2,[R1, #+0]
// 1310   while( myclock.temp<nb);  
??delay_10ms_1:
        LDR.N    R1,??delay_10ms_0  ;; myclock + 16
        LDR      R1,[R1, #+0]
        CMP      R1,R0
        BCC.N    ??delay_10ms_1
// 1311   
// 1312 }//END SUB
        BX       LR               ;; return
        DATA
??delay_10ms_0:
        DC32     myclock + 16
        CFI EndBlock cfiBlock30
此帖出自stm32/stm8论坛
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

6
 

据某官方做的评测

RV>IAR>MDK>GCC
RV好象是最好的,keil的编译器也只是一般,和iar相当,都没有realview的好.
其实都差不了太多的东西.
此帖出自stm32/stm8论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

7
 

re:8楼

你说的keil是老的自己编译器。keil原来自己的arm编译器实在是不咋的。
新的keil已经使用了realview编译器了。
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表