优化是一门实验科学,所以需要调试和分析。
优化性能的领域:小型嵌入式设备和移动设备、大型服务器、分布式计算等计算资源有限的场合。
(1)C++ 代码优化策略总结:
1. 用好的编译器并与好编译器
(1)使用支持C++11的编译器,-std-c++11,
(2)打开编译器的优化选项,-O2,但是代码调试过程会变的困难
(3)打开函数内联优化选项,inline
(4)编译器编译出的程序性能:INTEL icc > GNU gcc
2. 使用更好的算法
大部分优化手段可将程序性能提升30%-100%或3倍,但使用更高效的算法,可以实现性能的指数级增长。
(1)使用 查找 和 排序 的最优算法
(2)具体领域的最优算法
(3)技巧:预计算(将计算从运行时移动到链接、编译或是设计时)、延迟计算(将计算推迟到真正需要使用该计算结果时,才进行计算)、缓存(节省和复用,减少数据无用的换入换出,也就是减少了L1/L2/L3的带宽)
3. 使用更好的库
标准C++模板库和运行时库必须是可维护的、全面的、非常健壮的,所以性能