窥孔优化是对一小部分代码执行的一种代码优化。它是在一段代码中的非常小的指令集上执行的。
The small set of instructions or small part of code on which peephole optimization is performed is known as peephole or window.
它基本上适用于替换理论,其中一部分代码被更短和更快的代码替换,而不改变输出。
窥视孔是机器相关的优化。
窥孔优化的目标:
窥孔优化的目标是:
- 提高性能
- 减少内存占用
- 减少代码大小
窥孔优化技术:
- 冗余加载和存储消除:
在这种技术中,冗余被消除了。Initial code: y = x + 5; i = y; z = i; w = z * 3; Optimized code: y = x + 5; i = y; w = y * 3;
- 恒定折叠:
可以由用户自己简化的代码,被简化了。Initial code: x = 2 * 3; Optimized code: x = 6;
- 强度降低:
消耗较高的执行时间的运算符通过运算符消耗较少的执行时间更换。Initial code: y = x * 2; Optimized code: y = x + x; or y = x << 1; Initial code: y = x / 2; Optimized code: y = x >> 1;
- 空序列:
无用的操作被删除。 - 组合操作:
多个操作被单个等效操作取代。