Item 优化时要小心
1。避免过早优化
主要格言:
- 性能常常以不必要的优化为代价。
- 过早的优化被认为是编程中的“万恶之源”。
推荐规则是:
- 规则 1:不要优化。
- 规则 2:仅在需求明确且不可避免时才进行优化。
2。专注于清晰正确的代码架构
- 初始目标:在关注性能之前创建结构良好、可维护的程序。
- 如果架构基础扎实,稍后可以添加优化,而不会影响代码的完整性。
- 封装:使用信息隐藏来隔离设计选择,促进局部更改和改进,而不影响整个系统。
3。在初始设计中考虑性能,但避免过早的承诺
- 在设计过程中,避免做出限制未来性能的选择,尤其是在:
- API:确保关键方法不会增加性能损失,例如创建不必要的对象。
- 持久数据格式:选择具有灵活性和效率的数据格式。
- 低效 API 示例:java.awt.Component 类的 getSize 方法返回可变的 Dimension 对象,需要不必要的分配并影响性能。
4。使用适当的工具评估性能(分析和基准测试)
- 分析器:使用分析工具来识别程序消耗最多时间的地方,避免优化不是真正瓶颈的部分。
- 示例工具:建议使用 jmh(Java Microbenchmark Harness)来进行 Java 中的详细性能微基准测试。
- 分析有助于识别低效算法(例如二次算法),在专注于低级改进之前应将其替换为更高效的算法。
5。考虑不同环境下的可移植性和性能变化
6。开发后优化流程
推荐步骤:
- 完成设计并实现清晰简洁的程序版本。
- 评估整体表现。如有必要,找到并优化对性能影响最大的区域。
- 优先选择高效算法;低级优化无法解决算法选择不当的问题。
- 每次调整后衡量性能以确认积极影响。
最终总结
- 最佳实践:专注于编写高质量的代码,因为良好的设计通常与高效的性能兼容。
- 持续评估:始终衡量优化对性能的影响。
- 一般示例:当关键方法因不必要的对象而影响效率时,请考虑替代方案,例如不可变类型或返回原始值而不是对象的方法,从而减少分配并使程序更快、更高效。
以上就是Item 优化时要小心的详细内容,更多请关注其它相关文章!