过早优化的危险

来源:互联网 发布:mysql 获取unix时间戳 编辑:程序博客网 时间:2024/04/28 14:58

      关于优化,Donald Knuth有段著名的评论:

       程序员浪费了大量时间考虑,或担心程序中无关紧要部分的速度,并且那些城市改进效率的行为实际上有很强的负面影响......过早优化是万恶之源

      这段话在业内引起了广泛争论,而且人们通常只记住了最后一句。这之所以令人感到遗憾,有如下原因。

      1、在评论的前段,Knuth含蓄地提醒我们要测量,没有测量就不能确定程序的关键部分。
      2、不是代码导致等待时间过长——环境中的其他部分也会产生等待时间
      3、在完整的评论中,很容易看出Knuth是在谈论那些有意识的、齐心协力的优化
      4、不要分配不需要的对象
      5、如果再也不需要调试日志。就去掉它

      我们在下面代码中添加一个检查,看对象是否处理调用日志,这种检查被称为日志守卫。

      if(log.isDebugEnabled()) log.debug("http://www.zuzwn.com");

      如果调用日志真的没有用,我们可以把代码一并去掉,就恩那个再节省两个处理周期。

      性能调优的工作之一就是从一开始就写出质地优良、高效运行的代码。

0 0
原创粉丝点击