(转)Tips for Optimizing C/C++ Code

时间:2014-05-26 00:31:47   收藏:0   阅读:327

本来要自己翻译的,随手搜索了一下,发现五天前已经有人翻译了,我就不重复发明轮子了。

转自:http://blog.csdn.net/yutianzuijin/article/details/26289257

前不久在微博上看到一篇很好的短文讲如何对C/C++进行性能优化,虽然其面向的领域是图形学中的光线跟踪,但是还是具有普遍的意义,将其翻译成中文,希望对大家写高质量代码有帮助。

 

1.     牢记阿姆达尔定律:

   bubuko.com,布布扣

 

2.     在保证正确性的前提下去优化代码!

 

3.     我认识的代码高手都自称他们优化代码的时间是写代码时间的两倍。

4.     跳转/分支操作很耗时。如果可能尽可能的少用它们。

 

5.     仔细考虑数组下标的顺序。

 

6.     考虑指令级并行。

 

7.     避免使用或者减少局部变量的数量。

 

8.     减少函数的参数。

 

9.     结构体按照引用而不是按照值传递。

 

10.  如果函数不需要返回值,就不要定义返回值。

11.  尽可能地避免类型强转。

 

12.  声明C++对象变量的时候要各位仔细。

 

13.  将类的默认构造函数设计得尽量小。

 

14.  尽可能使用移位操作>>和<<代替整数的乘除法。

15.  在使用查表函数时要谨慎(光线跟踪专用)。

 

16.  对大多数类操作,使用+= ,-= , *= , and /=而不是+ , - , * , and /。

 

17.  对于基本数据类型采用+ ,- , *,/而不是+= , -= , *= , and /=。

18.  推迟局部变量的声明。

 

19.  对于对象(基本变量已被优化),使用前缀操作(++obj)代替后缀操作(obj++)。

 

20.  使用模板的时候要小心。

 

21.  在计算的过程中避免动态内存分配。

 

22.  寻找和利用可以优化系统缓存访问的一切信息。

 

23.  避免不必要的数据初始化。

 

24.  尝试循环的提前终止和函数的提前返回。

 

25.  在纸上简化方程。

 

26.  整数、浮点数在数学上的差异可能没有想象中大。

 

27.  考虑将运算表达式变形以减少耗时操作。

(转)Tips for Optimizing C/C++ Code,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!