优化问题的思考

     编程已经很久了,到底怎么才能写出好的程序了,除了结构清晰优美,当然还要高效,怎么进行程序的优化呢? Donald Knuth说“过早优化是万恶之源”(premature optimization is the root of all evil)。所以就提倡“make it correct,  then make it fast”。但不论如何最后还是要优化。我觉得的优化步骤应该是这样,首先编程时根据当时的情况做出最合适的选择,不使程序的效率没有理由的降低;编完了之后对影响效率的结构和算法做出优化(大多数是直觉);再使用性能分析工具(profile之类)的分析程序,对效率低的部分的程序调整,主要还是算法;最后没有其他办法了就使用一些平台相关的手段(汇编等)来解决。还有在编码和程序检查阶段要注意像CSAPP中所说的一些影响编译器优化的问题(循环低效,存储器别名,过多过程调用和内存引用等)。在现代计算机硬件越来越快的时代,似乎优化没有以前那么重要,但优秀的程序员能更充分的利用计算机为用户干更多的事。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值