窥孔优化 窥孔优化是一种优化编译器技术在编译的后面阶段寻找编译器生成的特定的指令序列将该序列替换成性能更好的等效指令序列该算法的可视范围极小往往只能同时窥看几条指令故名曰窥孔优化指其犹如通过窥孔观察程序被优化掉的这少量指令序列被称为窥视孔或窗口 例如 对于指令序列将寄存器A压入堆栈然后立即将值弹出存回寄存器A的指令序列窥孔优化删除这两条指令 对于指令A加到A上窥孔优化替换为算术左移 对于浮点寄存器乘以窥孔优化会将浮点寄存器的指数部分加上 对于数组寻址操作将索引乘以将结果与基地址相加以获得指针值然后解引用该指针窥孔优化可能会使用一种硬件寻址模式通过一条指令实现相同的结果 年William Marshall McKeeman提出窥孔优化一词