运行时优化(runtime optimization),理学-计算机科学技术-计算机软件-系统软件-编译系统,运行时优化(runtime optimization),是指在程序运行期间,对程序的性能进行优化的过程。从实现原理看,运行时优化可以通过静态多版本技术、动态编译技术、运行时库的优化等方式实现。静态多版本技术是指由于在编译时无法精确获取程序数据信息,例如别名、依赖关系等,为指定的代码段生成多个不同优化策略版本的二进制代码,在运行时根据程序的输入或者运行时信息选择最佳的版本执行。例如,在静态编译无法判断循环依赖关系时,生成向量化和非向量化两个版本,运行时根据数据的实际地址判断是否相关,选择一个版本运行。静态多版本技术引入的开销主要在编译时生成多个版本,运行时的开销很小,其缺点;是增大代码体积,影响指令cache的性能。动态编译技术是在程序执行过程中,利用程序运行时信息对程序的热点代码进行重构和动态编译,以生成性能更优的可执行代码。和静态编译相比,动态编译能够更精确地获取诸如分支转移、别名、数据依赖等信息,进行更激进的优化。