知识卡片
只优化占据90%执行时间的那10%热点代码,不必优化全部
内容
JPC提速的关键洞察并不是”把所有代码都编译得更快”,而是承认几乎所有软件都符合一个经验规律:10%的代码消耗了90%的执行时间。无论是CPU把常用指令翻译成微码并缓存、还是JVM即时编译器只对反复执行的热点方法做本地代码编译,本质上都是在”选择性地优化那一小撮真正值得优化的代码”,而不是对全部代码一视同仁地做昂贵的编译优化——如果对所有代码都做全量优化,反而会因为编译本身的开销引入不可接受的延迟。这提示一个具体可操作的性能优化顺序:先测量执行时间实际集中在哪一小部分代码上,再把优化精力砸在那里,而不是凭直觉或代码的”重要程度”来决定优化优先级。
参考来源
《架构之美》第9章《JPC:一个纯Java的x86 PC模拟程序》