Just-in-time (JIT) is a term used to describe an action such as compilation or object activation only at the time when it becomes necessary.This term is associated mostly with software compilation. JIT compilation is mainly designed for high-speed code execution and support for multiple platforms.
JIT compilation originated from the need for a compiler to assume responsibilities in addition to just conversion to object code (machine instructions) from a high-level language. JIT compilers facilitate portability to multiple operating systems and hardware platforms. Languages such as Smalltalk, Pascal Java and C# support JIT compilation.
There are three types of JIT compilers:
The disadvantages to using JIT compilation are additional startup time during the first call, increased use of cache memory and the inability to share code across multiple processes.
Ahead-of-time (AOT) compilation can overcome the issues faced with JIT compilation. It precompiles the entire Microsoft intermediate language image into machine code without the need for runtime compilation and saves the compiled code to a file on a disk. The compiled code is only used when there is a need for faster startup of the application.
Adaptive optimization is an alternative to JIT compilation that is used in Java.
Read More »