传统的 静态编译器依赖于对微体系结构和程序特征的静态建模来帮 助决定对程序进行何种优化、以何种顺序进行优化、以及优化 的具体参数等,难以适应日趋复杂的硬 和应用程序。
迭代编译:
针对通用程序的一种有效的优化方法,其优化过程以一个驱动器为中心,驱动器读取它所需的变换列表和参数范围,测试不同变换与参数组合的性能,根据某种搜索算法确定下一步的变换与参数,在满足一定条件时停止搜索,并输出当前性能最优的程序。
迭代编译的搜索过程是以各种测试版本的实际性能反馈为指导的,这一点很不同于分析模型。该技术的优势在于可有效集成各种优化变换,能够自适应于不同体系结构的计算平台,通常可以找到比商用编译器最高优化配置还要优秀的优化序列,研究界普遍认为该技术是针对复杂体系结构的一种很有前途的程序性能优化方法。起初主要针对程序性能优化参数进行选择,现在也将用于搜索最佳优化变换组合,生成最优的编译器选项设置。