优化编译器 在计算机领域中优化编译器是一种试图将程序的某种属性最大化或者最小化的编译器一般而言受影响的属性包括了计算机程序的大小执行时间以及内存占用不同的优化编译器会根据各自的着重点对程序做出一定变换或者在不影响运行结果的情况下修改程序的结构使得这些属性更贴近理论上的最优值 优化编译器的核心是程序优化变换optimizing transformations该类算法的目的是将原有程序替换成资源消耗更低运行时间更短但语义上与原有程序等价的新程序这些算法有一部分是NP完全的甚至是不可判定的与此同时一些算法的优化能力也有可能受到编译时长限制如即时编译程序开发机器的性能等问题所影响因此编译器的开发者在设计优化算法时需要考虑到这些因素并加以权衡也是由于这些因素鲜有程序在优化以后是真正做到最优的 足够智能的优化编译器因为能够自动化各种优化技巧的应用对于大幅提升软件开发效率有着莫大的重要性