窥孔优化 / 局部窗口优化:编译器优化技术之一。它在生成的中间代码或机器码中,用一个很小的“窗口”(peephole)逐段查看指令序列,把可等价替换但更高效的片段改写成更短、更快或更省资源的指令组合。常见于指令合并、删除冗余指令、简化跳转等场景。(也可泛指在很小局部范围内做规则化的改写优化。)
/ˈpiːpˌhoʊl ˌɑːptəmaɪˈzeɪʃən/
The compiler applies peephole optimization to remove redundant moves.
编译器使用窥孔优化来删除多余的移动指令。
After register allocation, peephole optimization can rewrite short instruction sequences to reduce branches and improve pipeline performance.
在寄存器分配之后,窥孔优化可以重写短小的指令序列,以减少分支并提升流水线性能。
peephole 原意是“门上的小窥视孔”,引申为“通过一个很小的孔/窗口观察局部”。在编译原理中,这个比喻用来描述:优化器不是全局分析整段程序,而是像从“窥孔”里一样,只看一小段相邻指令并做局部替换。optimization 来自 optimum(最佳)相关词根,表示“优化”。