知识卡片
性能分析先于优化
内容
速度优化应先定位热点,再选择算法改写、数据结构调整或汇编级优化。发散:没有测量的优化很容易把时间花在冷路径上,还可能把原本稳定的代码改坏。
参考来源
- 位置:《嵌入式系统设计与实践》第8章《事半功倍》"8.3 提高执行速度"及"8.3.1 程序性能分析"一节(源文件:_epub-src/OEBPS/text00123.html附近)
- 结论依据:原文明确"在开始正式的系统调优之前,首先从分析程序运行剖面开始,搞清楚需要重点花时间的部分……优化错误的地方也是一个不明智的做法(例如,将初始化时间减少了一半,但这只在启动过程中运行一次,事实上应该把精力集中在主循环中可能出问题的地方)"。
- 原始内容:在开始正式的系统调优之前,首先从分析程序运行剖面开始,搞清楚需要重点花时间的部分。虽然没有阅读映射文件那么简单,但是优化错误的地方也是一个不明智的做法(例如,将初始化时间减少了一半,但这只在启动过程中运行一次,事实上应该把精力集中在主循环中可能出问题的地方)。