重构并不意味着性能更好,但是重构可以让性能优化更容易!!!
关于写出高性能代码
写出高性能代码的前提:首先你得有个可以调整的程序。
就像别人问你如何和女朋友更好相处一样,首先你得有个女朋友。
写出高性能代码的方法:
1、时间预算法
给每个组件分配一定的资源——包括时间和执行轨迹,每个组件不能超过自己的预算。
通常用于要求极高的实时系统。
2、持续关注法
这种方法要求任何程序员在任何时间做任何事情时,都要保证系统的高性能。
这种方式很常见,感觉很有吸引力,但通常不会起太大作用。(《重构》作者原话)
任何修改如果是为了提高性能,通常会使程序难以维护,继而减缓开发速度。
而且性能改善一旦被分散到程序各角落,每次改善都只不过从对程序行为的一个狭隘的角度出发而已。
一个程序通常大半的事件都耗费在一小半代码上,如果你一视同仁优化所有代码,90%的优化都是白费劲,因为你优化的代码很少执行。
你花时间是为了让程序运行更快,如果缺乏对程序的清楚认识而花费时间,那些时间就被浪费掉了。
3、热点提升法(本人的命名)
采用这种方法,编写代码的时候不需要对性能投以特别的关注,直至进入性能优化阶段——通常在开发后期。
在性能优化阶段:
首先用某种度量工具监控程序的运行,找到消耗大量时间和空间的的代码,也就是"热点"了。
然后去优化这些热点,就可以花费较少的时间取得较好的优化效果
关于重构对性能优化的帮助
首先,一个构造良好的代码让你有足够的时间进行性能调整,因为它你可以更快速地添加功能,也就有更多时间用在性能问题上(准确的度量则保证你把这些时间用在恰当的地点)。
其次,面对构造良好的程序,你在进行性能分析时便有较细的粒度,于是度量工具把你代入范围较小的程序段落中,而性能的调整也比较容易些。由于代码更加清晰,因此你能更好地理解自己的选择,更清楚哪种调整起关键作用。
新闻热点
疑难解答