第十二章 优化
最好的优化就是不做优化
12.2 先估量,再优化
在有真凭实据证明程序运行缓慢时,才考虑进行优化,在优化前要先估量再进行实施。
要先明确程序的瓶颈在那里在开始进行优化,使用性能剖析程序profiler来进行估量。使用工具的出现的几个主要的问题体现在:工具本身自己运行而产生的误差;外部的时延;过度的调用图中顶部的节点。
将收集到的数据进行数学模型,进行分析,得出结果,得知问题出现的原因,在进行优化。
12.3 非定域性之害
最有效的优化方法是保持代码的短小简单,永远不要将核心数据结构和时间关键循环抛出缓存
12.4 延迟和吞吐量
为了得到良好的性能而进行协议的设计是非常重要的。而协议设计最重要的就是尽量减少协议的往返。
尽可能的低的延迟,忽略带宽的成本。三种减少时延的常规策略:
1、对可以共享开启的事务进行批处理,将可以同时开启的事务进行批处理开启。
2、允许事务进行重叠,多个请求一起发送,而不要必须等待一个请求响应之后,在发送新的请求。
3、使用缓存,将一些必须的、公用的数据保存在缓存中,就不要每次都去重复的请求数据。