你的位置:首页 > ASP.net教程

[ASP.net教程]【重构学习】01 重构与性能


  重构并不意味着性能更好,但是重构可以让性能优化更容易!!!

   关于写出高性能代码

  写出高性能代码的前提:首先你得有个可以调整的程序。

  就像别人问你如何和女朋友更好相处一样,首先你得有个女朋友。

  写出高性能代码的方法:

  1、时间预算法

   给每个组件分配一定的资源——包括时间和执行轨迹,每个组件不能超过自己的预算。

   通常用于要求极高的实时系统。

  2、持续关注法

   这种方法要求任何程序员在任何时间做任何事情时,都要保证系统的高性能。

   这种方式很常见,感觉很有吸引力,但通常不会起太大作用。(《重构》作者原话)

   任何修改如果是为了提高性能,通常会使程序难以维护,继而减缓开发速度。

   而且性能改善一旦被分散到程序各角落,每次改善都只不过从对程序行为的一个狭隘的角度出发而已。

   一个程序通常大半的事件都耗费在一小半代码上,如果你一视同仁优化所有代码,90%的优化都是白费劲,因为你优化的代码很少执行。

  你花时间是为了让程序运行更快,如果缺乏对程序的清楚认识而花费时间,那些时间就被浪费掉了。

  3、热点提升法(本人的命名)

   采用这种方法,编写代码的时候不需要对性能投以特别的关注,直至进入性能优化阶段——通常在开发后期。

   在性能优化阶段:

   首先用某种度量工具监控程序的运行,找到消耗大量时间和空间的的代码,也就是"热点"了。

   然后去优化这些热点,就可以花费较少的时间取得较好的优化效果

  关于重构对性能优化的帮助

  首先,一个构造良好的代码让你有足够的时间进行性能调整,因为它你可以更快速地添加功能,也就有更多时间用在性能问题上(准确的度量则保证你把这些时间用在恰当的地点)。

  其次,面对构造良好的程序,你在进行性能分析时便有较细的粒度,于是度量工具把你代入范围较小的程序段落中,而性能的调整也比较容易些。由于代码更加清晰,因此你能更好地理解自己的选择,更清楚哪种调整起关键作用。