Skip to content
Search

Just-in-time compilation

lastmod 2024-12-11created 2020-07-317 edits

JIT compilation (just-in-time compilation), or dynamic translation, is a compilation technique that translates a program into machine code at the moment it is actually executed.

Traditionally, there are two ways to build a computer program: interpretation and static compilation. Interpretation reads the programming language during execution and runs the machine code corresponding to each feature, whereas static compilation translates the program code into machine code before execution.

A JIT compiler can be thought of as a mix of the two: it generates machine code in an interpreted manner at run time while caching that code, so that machine code is not regenerated every time the same function is called multiple times.

Recent Java virtual machines, .NET, and V8 (node.js) support JIT compilation. That is, the Java compiler converts Java program code into bytecode, and then, at the point the bytecode is actually executed, the Java virtual machine converts the bytecode into machine code through JIT compilation.

Project

Common compiler misconceptions

See Compiler#Common compiler misconceptions.

See also

Favorite site

Benchmarks

author Zer0 sitemap