![]()
内容推荐 本书旨在指导大家优化运行在现代CPU上的应用程序的性能。具体来说,主要分为两部分内容: 第一部分介绍性能分析,包括对CPU微架构、术语和指标的简要概述,还探讨了分析性能的不同方法和现代平台上可用的硬件监控功能。 第二部分展示如何发现优化机会,以及可以做哪些转换来提高程序的性能。此外,还提供了一份可应用于用户应用程序的优化清单,包括循环优化、向量化、函数内联等,并讨论了有助于消除CPU微架构层面的问题(如缓存未命中、分支预测错误等)的代码转换。 本书对于从事性能关键型应用程序开发和进行系统底层优化的技术人员来说是不可或缺的。对于任何想更好地了解应用程序性能并探索其诊断和改进方法的开发者来说,这本书也很有用。 作者简介 朱金鹏,荣耀终端虚拟机和编译优化技术负责人,有10多年安卓系统开发经验,致力于安卓手机系统的性能优化。曾就职于华为终端,负责方舟编译器关键特性设计与开发,主导WebAssembly技术在轻量级操作系统上的应用。他是《简明的TensorFlow2》的合著者。 目录 译者序 前言 致谢 作者简介 第1章 导读 1.1 为什么需要性能调优 1.2 谁需要做性能调优 1.3 什么是性能分析 1.4 本书的主要内容 1.5 本书不包含什么内容 1.6 本章总结 第一部分 现代CPU性能分析 第2章 性能测量 2.1 现代系统中的噪声 2.2 生产环境中的性能测量 2.3 自动检测性能退化问题 2.4 手动性能测试 2.5 软件计时器和硬件计时器 2.6 微基准测试 2.7 本章总结 第3章 CPU微架构 3.1 指令集架构 3.2 流水线 3.3 利用指令级并行 3.3.1 乱序执行 3.3.2 超标量引擎和超长指令字 3.3.3 投机执行 3.4 利用线程级并行 3.5 存储器层次 3.5.1 高速缓存层次 3.5.2 主存 3.6 虚拟内存 3.7 单指令多数据多处理器 3.8 现代CPU设计 3.8.1 CPU前端 3.8.2 CPU后端 3.9 性能监控单元 …… 第二部分 基于源代码的CPU调优 附录A 减少测量噪声 附录B LLVM向量化程序 跋 术语 参考文献 |