几个简单的代码优化技术(一)
2006-09-29 20:57
423 查看
几个简单的代码优化技术
这些都是自己的心得和一些书上零零散散的东西,可能有些不对的地方欢迎指正
带有&&的if语句
bool fun1(bool bMan, const string& strName)
{
if(bMan && strName == "somebody") return true;
return false;
}
bool fun2(bool bMan, const string& strName)
{
if(strName == "somebody" && bMan) return true;
return false;
}
在上面两个函数中我们一般都会选第一个。
因为前面的bMan判断非常简单,如果它失败了就直接往下跳,如果它成功了才需要对strName进行比较复杂的判断。而如果将strName放在前面则每次都必须经过一段复杂的判断
除了运算的复杂外,还要从概率上考虑一个问题,加入&&前后两个判断的运算复杂度一样的话,就要考虑把比较容易判断为false的放在前面,因为这样就比较少的执行到后面的判断
总结1:在&&的判断中将比较简单的放在前面,将比较容易为false放在前面
同样可以得出另一个关于||的判断
总结2:在||的判断中将比较简单的放在前面,将比较容易为true的放在前面
这些都是自己的心得和一些书上零零散散的东西,可能有些不对的地方欢迎指正
带有&&的if语句
bool fun1(bool bMan, const string& strName)
{
if(bMan && strName == "somebody") return true;
return false;
}
bool fun2(bool bMan, const string& strName)
{
if(strName == "somebody" && bMan) return true;
return false;
}
在上面两个函数中我们一般都会选第一个。
因为前面的bMan判断非常简单,如果它失败了就直接往下跳,如果它成功了才需要对strName进行比较复杂的判断。而如果将strName放在前面则每次都必须经过一段复杂的判断
除了运算的复杂外,还要从概率上考虑一个问题,加入&&前后两个判断的运算复杂度一样的话,就要考虑把比较容易判断为false的放在前面,因为这样就比较少的执行到后面的判断
总结1:在&&的判断中将比较简单的放在前面,将比较容易为false放在前面
同样可以得出另一个关于||的判断
总结2:在||的判断中将比较简单的放在前面,将比较容易为true的放在前面
相关文章推荐
- 几个简单的代码优化技术(二)
- 几个简单代码优化方法
- 分享几个简单的WPF控件(代码)
- DSP6000的几个简单优化技巧
- DSP6000的几个简单优化技巧
- DSP6000的几个简单优化技巧
- DSP6000的几个简单优化技巧
- 几个简单的算法实现(冒泡优化)
- 简单对比几个技术博客类网站
- DSP6000的几个简单优化技巧
- 排序算法-O(n^2)-优化后的冒泡、简单选择、直接插入 代码实践、解释等
- 设计模式(1)-使用简单工厂优化代码
- 两个最容易被人忽略的基本代码优化技术
- 用DotNet做简单的分布式计算的几个关键技术点
- oracle优化的几个简单步骤
- JavaScript 代码性能优化总结 && 一个最简单的web服务器
- ARM流水线关键技术分析与代码优化
- DSP6000的几个简单优化技巧
- DSP6000的几个简单优化技巧
- DSP6000的几个简单优化技巧