DLR的适应性编译器

对于Python或Ruby等传统的脚本语言,动态语言运行时(DLR,Dynamic Language Runtime)在“热身”之后会有显著的性能提高。但对于仅仅执行一到两次的代码,编译表达式树所消耗的时间要远高于执行的开销。

为了解决这个问题,DLR引入了适应性编译器(Adaptive Compiler)。一般情况下,DLR会直接对表达式树进行解释执行,而不是对其进行编译。如果它发现这个表达式树需要反复使用,则会在后台线程中对其进行编译以备未来调用。据微软所言,这种做法让IronPython 2.6的启动性能有了显著提高。

由于这是DLR内部的技术,这个改进会体现在其上的任何动态语言中。

查看英文原文:The DLR’s Adaptive Compiler

你可能感兴趣的:(DLR的适应性编译器)