JIT编译

王朝百科·作者佚名  2009-11-19  
宽屏版  字体: |||超大  

JIT 编译 (JIT compilation)

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

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

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

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

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

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有