前言
高效程序:1. 适当的算法和数据结构。1. 将源代码编码成能够被编译器优化成高效可执行代码(消除连续的函数调用,消除不必要的内存引用)。3, 将运算量特别大的计算任务分成多个部分,这些部分可在多核和多处理器的某种组合上并行计算(第12章)(展开循环,多个累计变量,重新结合,条件转移)。
5.1优化编译器的能力和局限性
指针与指针操作,函数调用一般很少优化。因为会副作用。
函数调用,编译器会使用内联替换来优化。
一些情况下,最好阻止内联替换,1. 用符号调试器(如gdb)评估代码时,2. 用代码剖析评估程序性能时,等等。
5.2表示程序性能
每元素周期数CPE(斜率),循环展开,最小二乘拟合。
5.3程序示例
32位和64位整数或单双精度浮点数操作性能都相同(除了除法)。