即时编译 编译和解释

发布时间:2019年08月30日 阅读:284 次

即时编译(英语:Just-in-time compilation,缩写:JIT[1][2],又译及时编译[3]实时编译[4]动态编译的一种形式,是一种提高程序运行效率的方法。通常,程序有两种运行方式:静态编译与动态解释。静态编译的程序在执行前全部被翻译为机器码,而解释执行的则是一句一句边运行边翻译。

即时编译器则混合了这二者,一句一句编译源代码,但是会将翻译过的代码缓存起来以降低性能损耗。相对于静态编译代码,即时编译的代码可以处理延迟绑定并增强安全性。

即时编译器有两种类型,一是字节码翻译,二是动态编译翻译。

微软的.NET Framework[5][6],还有绝大多数的Java实现[7],都依赖即时编译以提供高速的代码执行。Mozilla Firefox使用的JavaScript引擎SpiderMonkey也用到了JIT的技术。Ruby的第三方实现RubiniusPython的第三方实现PyPy也都通过JIT来明显改善了解释器的性能。


Tag:
相关文章

发表评论: