软件系统优化

软件系统优化

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。
¥62.00¥31.00
机工社限时5折丨读书日特价截止至:2026-04-27 00:00:00了解详情

作品简介

本书详细介绍了软件系统优化的原理、技术和常用方法。本书强调从系统视角进行优化,提出了“数据驱动的系统优化”方法,围绕“软件 + 硬件 + 数据”三个方面展开讲解。本书共 18 章,分为五个部分。第1章和第2章从一个性能优化案例引入,概述了软件系统优化的方法论。第二部分包括第 3~6 章,介绍了性能工程的基础知识。第三部分包括第 7~10 章,介绍了计算机体系结构优化的相关知识。第四部分包括第 11~16 章,介绍了编译优化的相关知识。第五部分包括第17章和第18 章,针对新兴场景下的系统优化技术展开专题讨论。

郭健美,2011年在上海交通大学获得博士学位后于加拿大滑铁卢大学从事博士后研究。2021年至今在华东师范大学任教授,与黄波教授一起开设了“软件系统优化”课程,入选2023年上海高校市级重点课程。曾在华东理工大学任副教授,在阿里巴巴集团任高级技术专家并负责阿里云基础软件部系统性能团队。研究兴趣为软件系统的性能优化与质量保障,主持国家自然科学基金等科研项目,2017年入选上海市浦江人才计划,2022年入选东方英才计划青年项目。

作品目录

  1. FOREWORD推荐序一
  2. FOREWORD推荐序二
  3. 前言
  4. 第一部分 绪论
  5. CHAPTER 1 第1章 开篇案例:矩阵乘法的性能优化
  6. 1.1 不同编程语言的实现
  7. 1.2 循环交换
  8. 1.3 编译器的不同优化级别
  9. 1.4 多核并行优化
  10. 1.5 循环分块
  11. 1.6 内建函数
  12. 1.8 思考题
  13. CHAPTER 2 第2章 系统优化方法论概述
  14. 2.1 后摩尔时代性能优化的驱动力
  15. 2.2 数据驱动的系统优化方法
  16. 2.3 从单点到全局的系统观
  17. 第二部分 性能工程基础
  18. CHAPTER 3 第3章 性能测量
  19. 3.1 测量方法
  20. 3.2 计时器的选择
  21. 3.3 数据收集策略
  22. 3.4 性能波动
  23. 3.5 测量开销
  24. 3.6 测量误差
  25. CHAPTER 4 第4章 基准评测
  26. 4.1 基准评测程序
  27. 4.2 标准化基准评测套件
  28. 4.3 基准评测的策略
  29. 4.4 阿姆达尔定律
  30. 4.5 古斯塔夫森定律
  31. CHAPTER 5 第5章 配置优化
  32. 5.1 基本概念
  33. 5.2 技术挑战
  34. 5.3 实验设计
  35. 5.4 基于机器学习的方法
  36. 5.5 领域知识驱动的方法
  37. CHAPTER 6 第6章 性能评价
  38. 6.1 评价目标的设定
  39. 6.2 评价方法的选择
  40. 6.3 评价指标的选择
  41. 6.4 数据的分析与解释
  42. 6.5 常见错误与规避方法
  43. 第三部分 计算机体系结构优化
  44. CHAPTER 7 第7章 处理器优化
  45. 7.1 五阶段处理器
  46. 7.2 流水线执行
  47. 7.3 超标量处理
  48. 7.4 乱序执行
  49. 7.5 推测执行
  50. CHAPTER 8 第8章 存储器优化
  51. 8.1 高速缓存
  52. 8.2 多核访存架构
  53. 8.3 编写缓存友好的代码
  54. CHAPTER 9 第9章 微体系结构性能分析
  55. 9.1 处理器性能的铁律
  56. 9.2 CPI分解方法
  57. 9.3 自顶向下的微体系结构分析方法
  58. CHAPTER 10 第10章 异构计算与编程
  59. 10.1 异构计算概述
  60. 10.2 并行编程框架
  61. 10.3 异构编程:SYCL
  62. 第四部分 编译优化
  63. CHAPTER 11 第11章 源程序级别的常见优化方法
  64. 11.1 程序的工作量
  65. 11.2 数据结构优化示例
  66. 11.3 程序逻辑优化
  67. 11.4 循环优化
  68. 11.5 函数优化
  69. CHAPTER 12 第12章 编译器概述
  70. 12.1 编译器的定义、分类及典型架构
  71. 12.2 符号表
  72. 12.3 程序运行时的内存组织
  73. 12.4 程序分析和优化
  74. 12.5 交叉编译
  75. 12.6 用编译器优化程序的迭代循环
  76. CHAPTER 13 第13章 目标指令集架构与汇编语言
  77. 13.1 编译与汇编语言
  78. 13.2 x86-64指令集架构
  79. 13.3 常用的汇编指令模式
  80. 13.4 浮点和向量化指令
  81. CHAPTER 14 第14章 C程序的汇编代码生成
  82. 14.1 C程序是如何被转换成汇编代码的
  83. 14.2 C程序转换成LLVM IR
  84. 14.3 LLVM IR转换成汇编程序
  85. CHAPTER 15 第15章 编译器的优化能力
  86. 15.1 编译分析/优化报告
  87. 15.2 编译器常见的优化能力
  88. 15.3 编译优化示例
  89. 15.4 编译优化的挑战
  90. 15.5 链接时间优化
  91. CHAPTER 16 第16章 程序插桩与优化机会识别
  92. 16.1 什么是程序插桩
  93. 16.2 二进制翻译助力程序插桩
  94. 16.3 利用插桩信息识别编译优化机会
  95. 第五部分 专题讨论
  96. CHAPTER 17 第17章 数据中心的性能优化
  97. 17.1 数据中心简介
  98. 17.2 混部应用的性能干扰检修
  99. 17.3 数据中心的性能分析
  100. 17.4 数据中心的性能评价
  101. CHAPTER 18 第18章 深度学习框架的优化
  102. 18.1 深度学习框架简介
  103. 18.2 优化基础
  104. 18.3 算子优化
  105. 18.4 基于计算图的优化
  106. 参考文献
  107. 推荐阅读