JIT编译


请输入要查询的词条内容:

JIT编译


JIT 编译 (JIT compilation)

运行时需要代码时,将 Microsoft 中间语言 (MSIL) 转换为机器码的编译。

interpretation:解释就是把源程序以句为单位,每句每句的解释并执行,如果语句出现在循环体当中,比如循环10次,该语句就要被解释执行10次.不产生目标代码.

compilation:编译是把源代码一次性翻译成目标代码,目标代码可能是可直接运行的机器语言,或是已存在相应翻译器的不可执行语言.

just-in-time compilation的意思是说,首先仍然是compilation,有cashing,不用象解释那样把循环体里面出现的代码重复解释;同时有目标机器代码.这是相对于interpretation的好处.另外相对于static compilation的好处是,在编译过程对代码进行优化.选择性的编译某个函数或任意某段代码.

JIT具体的做法是这样的:当载入一个类型时,CLR为该类型创建一个内部数据结构和相应的函数,当函数第一被调用时,JIT将该函数编译成机器语言.当再次遇到该函数时则直接从cache中执行已编译好的机器语言.

相关分词: JIT 编译