优化

看了一本讲性能优化的书,挑出其中比较有意思的建议,仅供参考:


1. 同样是加减乘除,int比float和double都要快,所以尽量用int做加法、乘法运算,最后再除法,变回浮点型

2. “&&”符的左右判断可以更考究,比如:if( (strlen(a)>10) && (b>100) )没有 if( (b>100) && (strlen(a)>10) )高效,因为strlen较花时间

3. 对于多层的if-else语句来说,要把可能性最高的放在开始,这样逻辑通常就在第一个判断后执行,避免了总是经过多次判断走到后面的else上

4. 通常switch比if-else快

5. 迭代比递归快

6. 快速字符串比较方法:先比较两个字符串的第一个字符,再全部比较。因为通常待比较的字符压根儿就不同,没必要一来就strcmp这么大动干戈

7. 把字符串以int方式读取来比较能够加快比较速度

8. fprintf比fstream快不了多少,但fgets比getline快很多
posted @ 2012-03-05 22:07  errno  阅读(145)  评论(0编辑  收藏  举报