过早优化的危险
来源:互联网 发布: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
- 过早优化的危险
- 过早的优化是万恶之源
- 切勿过早优化
- 不要过早优化
- 切勿过早优化
- 切勿过早优化 [Y]
- 为什么过早的优化是万恶之源?
- 危险的搜索引擎优化作弊
- 过早的优化是万恶之源,细数优化7大原则
- 在模块内对内存的分配过早优化的缺点
- 过早优化是万恶之源(转)
- ”危险“的restrict与GCC的编译优化
- 过早退出是一切失败的根源
- 不要过早的释放动态内存空间
- 典型对象池模型的“对象过早归还”现象分析
- 恋人过早同居的3个悲惨结局
- Java并发编程系列之三十一:过早的通知
- 让孩子过早懂事,是种残忍的教养
- 秒杀多线程第一篇 多线程笔试面试题汇总
- Linux内存管理概述
- 阶段性计划1 20140222
- Git 安装和配置
- 黑马程序员_实现多线程的2种方法
- 过早优化的危险
- 我的2013年!
- 路由器包转发性能计算公式
- 10个有关String的面试问题
- CSS3之background-origin
- [博弈]HDU 1907 John
- 黑马程序员_集合的总结
- 单击屏幕上空白区域的时候输入法键盘消失
- WPA_SUPPLICANT + WPA_CLI User Guide