MCC30和dsPICC除法运算差距怎么这么大!

2020-02-08 12:28发布

等30F2020的芯片等的实在无聊,试了一个同样的一个除法运算

float val;
unsigned long a=200000;
unsigned int b=3000;
val=(float)a/b;

用MCC30编译,然后MPLAB SIM仿真,用617个指令周期完成
再用dsPICC9.60PL3编译,然后MPLAB SIM仿真,用2个指令周期就完成了。
这差距也有点太大了!难道是有什么设置不同造成的吗?

PS:这就是无聊做的一个测试,不是要对比2个编译器效率和好坏,仅仅就一个除法也反应不出什么。只是不明白为什么有这么大的差距,希望有人能指点一下,感谢。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
g921002
1楼-- · 2020-02-10 05:27
这个也算不上dapicc的优点吧,我想一般的编译器都会这么做的
jianghehupo
2楼-- · 2020-02-10 05:57
 精彩回答 2  元偷偷看……
dreamboy
3楼-- · 2020-02-10 10:54
汇编盲……阿门!
dreamboy
4楼-- · 2020-02-10 11:46
mark
gxy508
5楼-- · 2020-02-10 15:52
"总结一条经验,测试编译器的时候,要小心编译器的小聪明。"

the compiler is doing what it is supposed to do: to optimize off dumb code that contributes nothing.

it is the programmer's job to understand what a compiler, especially an optimizing compiler, does.
millwood0
6楼-- · 2020-02-10 16:05
dddddddddddddddddddddddddddddddddddddddd

一周热门 更多>