2026年6月25日,英特尔软件工程师李莉翠发现,仅对GCC编译器中通用x86调优配置进行一处细微调整,即可在不改变程序功能的前提下,同步提升英特尔与AMD最新一代处理器的运行效率。
具体改动是将通用调优表内关于分支预测错误开销的参数值,由原先的COSTS_N_INSNS(2)提高至COSTS_N_INSNS(2)+3。这一调整使编译器在生成机器码时,更充分地权衡分支预测失败所引发的性能代价,从而优化指令排布与基本块布局策略。
随着现代处理器流水线深度持续增加,一次分支预测失误将触发整条流水线清空,带来数十个时钟周期的延迟。因此,适度上调该参数有助于编译器生成更适应深层流水线特性的代码结构,减少因预测失败导致的性能折损。
实测结果表明,在SPEC CPU 2017基准测试中,该改动为英特尔Granite Rapids处理器带来12.7%的性能提升;在AMD Zen 5架构上亦取得12.1%的性能增益。测试所采用的544.nab_r核酸构建器用例,属于典型的计算密集型分子动力学模拟程序,其执行路径中存在大量条件分支,对分支预测准确性高度敏感,因而能更清晰地反映此项优化的效果。
需注意的是,该优化仅在启用通用x86或x86_64目标调优的编译场景下生效;若用户明确指定-march=native等面向特定微架构的优化选项,则不受此改动影响。
目前该修改已正式纳入GCC主干代码库,计划随2027年发布的GCC 17稳定版本一同发布,成为新一代编译器中一项关键的通用性能增强特性。

评论
更多评论