##引言
说起性能调优,我本来想说很多,但是觉得枯燥的语言并不能表达我对于性能调优的重视,所以我打算举个不太恰当的例子。
曾经有这么一家工厂,他们的每条产品线需要经过30个工序。
这家公司的老板对底下的员工曾多次强调过质量的重要性,员工们却不以为然,他们觉得自己做的都很不错。
有一次,老板去视察,走到了产品线上的某个节点,问起工人,这个节点的的合格率能达到多少,那个工人自豪的说,”98%!”。老板却并没有十分满意,摇着头走开了。
那位工人非常的疑惑。这么高的合格率,老板为什么还是不满意呢?
于是这位工人就去向领导打听,领导也不知道,于是后来这位工人直接找到了老板家里,向老板请教。
老板很是诧异,于是就给这位工人简单科普了一下,一条产品线是由30个工序组合而成的,所以一个工序的合格率是98%,并不代表最后总的合格率是98%。应该是这样计算最后的合格率的:
$$x = 0.980.980.98… = 0.98^{30} = 0.545$$
所以,这条产品线的合格率实际上只有54.5%。
这个故事说明的问题其实很简单,我们开发的app的最终性能,都是由每一个细小的部分组合而成的,其中很多部分的内容是进行的乘法,而不是加减,所以想要自己设计的app让用户用的爽,任何一个小的性能问题我们都不能忽略。