Just
In Time Compilers (JITers)
When our IL compiled code needs to be executed, the CLR invokes the JIT compiler, which compile the IL code to native executable code (.exe or .dll) that is designed for the specific machine and OS.
JITers in many ways are different from traditional compilers as they compile the IL to native code only when desired; e.g., when a function is called, the IL of the function’s body is converted to native code just in time.
So, the part of code that is not used by that particular run is never converted to native code. If some IL code is converted to native code, then the next time it’s needed, the CLR reuses the same (already compiled) copy without re-compiling. So, if a program runs for some time (assuming that all or most of the functions get called), then it won’t have any just-in-time performance penalty.
When our IL compiled code needs to be executed, the CLR invokes the JIT compiler, which compile the IL code to native executable code (.exe or .dll) that is designed for the specific machine and OS.
JITers in many ways are different from traditional compilers as they compile the IL to native code only when desired; e.g., when a function is called, the IL of the function’s body is converted to native code just in time.
So, the part of code that is not used by that particular run is never converted to native code. If some IL code is converted to native code, then the next time it’s needed, the CLR reuses the same (already compiled) copy without re-compiling. So, if a program runs for some time (assuming that all or most of the functions get called), then it won’t have any just-in-time performance penalty.
No comments:
Post a Comment