程序性能优化:从理解到实践
1. 性能的定义
在编程咨询中,常听到“我的程序不够快,用户反馈性能不佳,该怎么办?”这样的问题。要解决这个问题,关键在于理解“性能”的含义。不同用户对程序性能的期望不同,下面通过一个例子来说明。
假设有一位在南极麦克默多基地工作的林业部门主管史密斯先生。他大部分时间都在使用电脑,对程序性能有不同的要求:
- 文档编辑场景 :当他撰写分析南极森林状况的文档时,希望文档编辑器能快速响应,在打字、准备图表、格式化表格等操作时没有延迟。此时,性能意味着足够快的响应速度,即使将编辑器速度提高数倍,对他来说也没有明显的改善,因为现有的速度已经足够快。
- 数据库查询场景 :当他查询全球森林的大型数据库并比较世界各地与南极本地的森林情况时,他希望每个数据库查询都能尽快完成。在这种情况下,性能等同于速度,提高查询速度能让他更满意。
- 游戏场景 :当他玩游戏时,如果遇到视频通话,他希望能调整游戏窗口大小,与视频通话应用共享屏幕。即使游戏思考下一步需要时间,只要用户界面能响应他的命令,他就会满意。这表明他期望的是一个不阻塞的用户界面。
从这个例子可以看出,程序的速度有不同的类型,包括实际速度和感知速度。有时,我们不需要提高程序的实际速度,只需确保用户界面始终响应,就能让用户满意。
2. 性能类型与优化方法
我们主要关注两种类型的性能:
- 对用户输入快速响应的程序。
- 快速执行计算的程序。
实现这两种性能的技术有所不同:
-
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



