深入理解计算机系统(第三版)第五章重要内容摘要
5.1优化编译器的能力和局限性
5.2表示程序性能
我们更愿意用每个元素的时钟周期而不是每个循环的时钟周期来度量,这是因为像循环展开这样的技术使得我们能够用较少的循环来完成计算
5.3程序示例
5.4消除循环的低效率
5.5减少过程调用
5.6消除不必要的内存引用
5.7理解现代处理器
5.7.1整体操作
,
5.7.2功能单元的性能
5.7.3处理器操作的抽象模型
5.8循环展开
5.9提高并行性
5.9.1多个积累变量
5.9.2重新结合变换
5.10优化合并代码的结果小结
5.11一些限制因素
5.11.1寄存器溢出
5.11.2分支预测和预测错误处罚
1.不要过分关心可预测的分支
2.书写适合用条件传送实现的代码
5.12理解内存性能
5.12.1加载的性能
5.12.2存储的性能
5.13应用:性能提高技术
5.14确认和消除性能瓶颈
5.14.1程序剖析
5.14.2使用剖析程序来指导优化
5.15小结