性能优化方法论

动手优化之前思考三个问题: 首先,既然要做性能优化,那要怎么判断它是不是有效呢?特别是优化后,到底能提升 多少性能呢? 第二,性能问题通常不是独立的,如果有多个性能问题同时发生,你应该先优化哪一个呢? 第三,提升性能的方法并不是唯一的,当有多种方法可以选择时,你会选用哪一种呢? 是不是总选那个最大程度提升性能的方法就行了呢?

自我思考:优化就是要找出一种最适合最有效的方案进行优化

怎么评估性能优化的效果?

性能评估“三步走”:

  1. 确定性能的量化指标。
  2. 测试优化前的性能指标。(不要局限单一维度下)
  3. 测试优化后的性能指标。

多个性能问题同时存在,要怎么选择?

  • “二八原则”,并不是所有性能问题都值得优化
  • 动手优化前,先分析好所有性能问题,找出最重要的、可以最大程度提升的性能问题,开始优化

有多种优化方法时,要如何选择?

  • 一般情况下,选择最大提升性能的方法
  • 性能优化通常会带来复杂度的提升,降低程序的可维护性,还可能在优化一个指标时,引发其他指标的异常。所以要综合考虑

千万避免过早优化