效率优化策略

 
效率优化策略
开发设计
在软件开发设计期,需要关注程序的架构、细节设计以及各实体类的数据结构和算法的选择,这些因素对程序的运行速度和资源的占用的影响通常会较大。在考虑效率问题时应将其同其他因素相结合,例如,实现高度可修改性就为满足效率目标提供了很好的基础。所以在设计期就初步定好效率的需求,探索设计的框架能否支持这个需求。同时在开发的质量目标中确定好效率、可修改性、可读性等因素的着重点。
 
 
编码
编码期,几乎不可能在程序能够运转之前确定出程序的瓶颈,因为没有测量的依据。如果随时随地进行优化,往往会顾此失彼,反而会降低总体效率,为效率优化工作做好准备的最佳方式就是在最初阶段编写清晰的代码,从而使代码在后续工作中易于理解和修改,把减少代码复杂性放在第一位。在项目初级阶段耗费在效率调整的时间越多,这些代码在后期就会越难维护。
 
 
定量分析
在项目开发中,常常会出现这样的场景:“效率的瓶颈肯定在这儿,你看都循环了多少次?”。而用效率评测工具测试的结果往往不是这样的。优化结果在不同的语言、编译器和环境以及业务背景下有很大差异。如果没有对每一次的优化进行测量,你将无法判断优化到底是帮助还是损害了这个程序。定量测量是实现效率最优化的关键。讨论效率时,没有“可能”一词的位置。用实际的工程数据(需求是有规律的),真实的环境,实际测量。用数据来支持到底选择那一套效率优化方案。定量分析中可以发现的一个规律就是80/20原则,80%的效率问题往往来自20%的代码,在我的实践中20%已经是比较大的数了,常常效率的瓶颈就是几个函数。
 
 
效率优化步骤
1、 首先模拟现场环境,获得实际工程数据。
2、 了解业务逻辑,往往业务中就掩藏着效率优化的捷径。比如可以发现数据的规律等。
3、 用效率测试工具测试效率的瓶颈。
4、 分析测试结果,对瓶颈进行优化,专注于效率优化,发现其它的问题比如“臭”代码,先记录下来。
5、 对比效率优化结果,抛弃比原来差的方案,在效率优化中往往第一次的优化结果不会是最好的,所以要多次优化和调整,比较各种解决方案的优化结果,保存各方案的代码副本(Check In代码,写明注释)。
6、 2 到3次的优化后,选择最优的解决方案。
 
 
效率与重构
重构是支持效率优化的,重构会节约总体的时间,让我们有比较充裕的时间进行效率调整;同时重构后,代码分解得比较好,有利于提供较细粒度的效率测试,从而快速发现代码的瓶颈,也有利于快速的调整。
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值