本章小结
- 单线程 CPU 性能的提升速度已不如数十年前那样迅猛。当每一代硬件都能带来显著性能提升的时代不再,开发者就应该开始优化其软件的代码。
- 现代软件效率极其低下。公共云中的普通服务器系统通常运行着优化不足的代码,消耗着本可以节省的大量电力,这增加了碳排放,并带来其他环境问题。
- 存在一些阻止应用程序充分发挥性能潜力的局限性:CPU 无法神奇地加速低效算法;编译器远未能为每个程序生成最优代码;大 O 表示法(Big O notation)并不总是良好的性能指标,因为它不考虑硬件特性。
- 多年来,性能工程一直是一个小众的极客领域,但现在随着软件供应商意识到优化不足的软件对其利润的影响,它正逐渐成为主流。
- 人们非常讨厌使用慢速软件,尤其是当慢速降低了他们的工作效率时。并非所有快速软件都是世界级的,但所有世界级软件都是快速的。性能是最杀手级的功能。
- 软件调优正变得比过去 40 年来任何时候都更加重要,它将成为近期性能提升的关键驱动力之一。底层性能调优的重要性不可低估,即使只是 1% 的改进也是如此。这些微小改进的累积效应才是造就差异的关键。
- 要榨取最后一丝性能,你需要对现代 CPU 的工作原理有一个良好的心智模型(mental model)。
- 预测某段代码的性能几乎是不可能的,因为影响现代平台性能的因素太多了。在实施软件优化时,开发者不应依赖直觉,而应进行仔细的性能分析。