略读
第五章 优化程序性能
- 编写高效程序需要做到:
- 第一,适当的算法和数据结构。
- 第二,编写出编译器能够有效优化以转换成高效可执行代码的源代码。
- 消除连续的函数调用。在可能时,将计算移到循环外。考虑有选择地妥协程序的模块性以获得更大的效率。
- 消除不必要的
内存引用
。引入临时变量来保存中间结果。只有在最后的值计算出来时,才将结果存放到数组或全局变量中。- 将
临时变量
累积值存放在局部变量
acc(寄存器
保存acc)中,消除了每次循环迭代中从内存
中读出并将更新值写回的需要。
- 将
- 第三,并行。针对处理运算量特别大的计算,将一个任务分成多个部分,这些部分可以在多核和多处理器的某种组合上
并行
地计算。(第12章)
- 第6章探究高速缓存是如何工作的。
- 加载:从内存读到寄存器;
- 存储:从寄存器写到内存。