对FOR循环的优化心得

[复制链接]
2895|1
 楼主| guoxuekun 发表于 2008-6-27 13:31 | 显示全部楼层 |阅读模式
<br />本文来自于DSP交流网(www.hellodsp.com)&nbsp;作者:huttu<br /><br />在程序中经常用到FOR循环,当一些算法实时性要求非常高时,对FOR循环的优化有时可以带来意想不到的收获。<br /><br />通常使用的FOR循环语句形式有:<br /><br />int&nbsp;i;<br />for&nbsp;(i=0;i&ltn;i++)<br />{<br />}<br />这种循环形式,我想一般人都用过,对这种循环的优化如下:<br />int&nbsp;i;<br />for&nbsp;(i=n;i&gt0;i--)<br />{<br />}<br />明眼人一下就看出来了这两种形式的区别,这里涉及到编译器对判断语句的编译。<br />在CCS中,对于i&gt0使用的是AGT也即大于等于0的后缀,而对于i&ltn,会多执行一条减操作的语句,然后再进行比较,这样,相对于第一种循环,第二种操作将直接减少N条指令执行时间,而这时间的节约只是一个编程习惯上稍改一下即可实现的。<br />转载请注明出自DSP交流网&nbsp;DSP学习第一论坛&nbsp;DSP技术应用与推广平台&nbsp;DSP开发服务平台&nbsp;http://www.hellodsp.com/bbs/,本贴地址:http://www.hellodsp.com/bbs/viewthread.php?tid=6948<br /><br /><br /><br />
hotpower 发表于 2008-7-4 01:28 | 显示全部楼层

好多编译器for(i=N;i>0;i--);比for(i=0;i
  

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

本版积分规则

50

主题

53

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部