11.19
优化思想
1. 必须测量性能
人的感觉对于检测性能提高了多少来说是不够精确的。人的记忆力不足以准确地回忆起以
往多次实验的结果。本内侧的知识可能会误导你,使你相信了一些并非总是正确的事情。
当判断是否应当对某段代码进行优化的时候,开发人员的直觉往往差得令人吃惊。他们
编写了函数,也知道这个函数会被调用,但他们并不清楚调用频率以及会被什么代码所调
用。于是,一段低效的代码混入了核心组件中并被调用了无数次。经验也可能会欺骗你。
编程语言、编译器、库和处理器都在不断地发展。之前曾经肯定是热点的函数可能会变得
非常高效,反之亦然。只有测量才能告诉你到底是在优化游戏中取胜了还是失败了。
那些具有最让我折服的优化技巧的开发人员都会系统地完成他们的优化任务:
• 他们做出的预测都是可测试的,而且他们会记录下预测;
• 他们保留代码变更记录;
• 他们使用可以使用的最优秀的工具进行测量;
• 他们会保留实验结果的详细笔记。