11.21
3. 90/10规则
性能优化的基本规则是 90/10 规则:一个程序花费 90% 的时间执行其中 10% 的代码。这
只是一条启发性的规则,并非自然法则,但对于我们的思考和计划却具有指导性。这条规
则有时也被称为 80/20 规则,但思想是一样的。直观地说,90/10 规则表示某些代码块是会
被频繁地执行的热点(hot spot),而其他代码则几乎不会被执行。这些热点就是我们要进
行性能优化的对象。
90/10 规则的一个结论是,优化程序中的所有例程并没有太大帮助。优化一小部分代码事
实上已经足够提供你所想要的性能提升了。识别出 10% 的热点代码是值得花费时间的,但
靠猜想选择优化哪些代码可能只是浪费时间。
正如有些人所建议的那样,高德纳博士也并非警告我们所有的优化都是罪恶的。他只是说
浪费时间去优化那非关键的 90% 的程序是罪恶的。很明显,他也意识到了 90/10 规则。