首页
README.md
0.前言 Preface
0-1.通告
0-2.前言
0-3.致谢
1.介绍 Introduction
1-0.介绍
1-1.为什么需要性能调优?
1-2.谁需要性能调优?
1-3.什么是性能分析?
1-4.本书讨论了什么?
1-5.本书未涉及的内容
1-6.练习
1-7.章节总结
2.性能测量 Measuring-Performance
2-0.性能测量
2-1.现代系统中的噪声
2-2.在生产环境中进行性能测量
2-3.自动检测性能回归
2-4.本地性能测量
2-5.软件和硬件定时器
2-6.微基准测试
2-7.问题和练习
2-8.章节总结
3.CPU微体系结构 CPU-Microarchitecture
3-0.CPU微体系结构
3-1.指令集架构
3-2.流水线技术
3-3.开发指令级并行性
3-4.SIMD
3-5.开发线程级并行性
3-6.存储器层次结构
3-7.虚拟内存
3-8.现代CPU设计
3-9.性能监控单元
3-10.问题和练习
3-11.章节总结
4.性能分析中的术语和指标 Terminology-And-Metrics
4-0.性能分析中的术语和指标
4-1.已退役和已执行指令
4-2.CPU利用率
4-3.CPI 和 IPC
4-4.微操作
4-5.管道槽
4-6.核心周期与参考周期
4-7.缓存失效
4-8.错误预测的分支
4-9.性能指标
4-10.内存延迟和带宽
4-11.案例研究:分析四个基准测试的性能指标
4-15.问题和练习
4-16.章节总结
5.性能分析方法 Performance-Analysis-Approaches
5-0.性能分析方法
5-1.代码插桩化
5-2.跟踪
5-3.工作负载特征化
5-4.使用标记器 API
5-5.采样
5-6.Roofline 性能模型
5-7.静态性能分析
5-8.编译器优化报告
5-9.问题和练习
5-10.章节总结
6.CPU特性用于性能分析 CPU-Features-For-Performance-Analysis
6-0.CPU特性用于性能分析
6-1.自顶向下微架构分析
6-2.TMA在英特尔处理器上
6-3.TMA在AMD处理器上
6-4.TMA 在 ARM 处理器上
6-5.TMA 总结
6-6.分支记录机制
6-7.基于硬件的采样功能
6-8.问题和练习
6-9.章节总结
7.性能分析工具概述 Overview-Of-Performance-Analysis-Tools
7-0.性能分析工具概述
7-1.Intel Vtune
7-2.AMD uProf
7-3.Apple Xcode Instruments
7-4.Linux Perf
7-5.火焰图
7-6.Windows 事件跟踪
7-7.专业和混合性能分析器
7-8.持续性能分析
7-9.问题和练习
7-10.章节总结
8.优化内存访问 Optimizing-Memory-Accesses
8-0.源代码优化
8-1.优化内存访问
8-2.缓存友好数据结构
8-3.显式内存预取
8-3.内存分析
8-4.减少 DTLB 未命中
8-5.问题与练习
8-6.章节总结
9.优化计算 Optimizing-Computations
9-0.优化计算
9-1.数据流依赖
9-2.内联函数
9-3.循环优化
9-4.向量化
9-5.使用编译器内部函数
9-6.问题和练习
9-7.章节总结
10.优化分支预测 Optimizing-Branch-Prediction
10-0.优化分支预测
10-1.用查找表替换分支
10-2.用算术替换分支
10-3.用谓词替换分支
10-4.问题和练习
10-5.章节总结
11.机器代码布局优化 Machine-Code-Layout-Optimizations
11-1.机器代码布局优化
11-2.基本块
11-3.基本块布局
11-4.基本块对齐
11-5.函数拆分
11-6.函数重排序
11-7.基于性能分析引导的优化(PGO)
11-8.减少 ITLB 未命中
11-9.案例研究:测量代码足迹
11-10.问题和练习
11-11.章节总结
12.其他优化领域 Other-Tuning-Areas
12-0.其他优化领域
12-1.优化输入输出
12-3.架构特定优化(todo)
12-4.低延迟优化技术
12-5.缓慢的浮点运算
12-6.系统调优
12-7.案例研究:对最后一级缓存大小的敏感性
12-8.问题和练习
12-9.章节总结
13.优化多线程应用 Optimizing-Multithreaded-Applications
13-0.优化多线程应用
13-1.性能扩展和开销
13-2.并行效率指标
13-3.使用 Intel VTune Profiler 进行分析
13-4.使用 Linux Perf 进行分析
13-5.使用 Coz 进行分析
13-6.利用 eBPF 和 GAPP 进行分析
13-7.缓存一致性问题
13-8.问题和练习
13-9.章节总结
14.软件和硬件性能的当前和未来趋势 Current-And-Future-Trends
14-0.软件和硬件性能的当前和未来趋势
15.后记 Epilog
15-0.后记
16.术语表 Glossary
16-0.术语表
17.主要CPU微架构列表 List-of-Uarch-ISA
17-0.主要CPU微架构列表
18.附录 Appendix
附录 A
附录 B
附录 C
附录 D
引用
References
本書使用 GitBook 釋出
12-0.其他优化领域
其他优化领域
其他优化领域
在本章中,我们将探讨一些优化主题,它们与前三章中涵盖的任何类别没有特别关联,但仍然足够重要,可以在本书中占有一席之地。
results matching "
"
No results matching "
"