Skip to content

Commit

Permalink
Add glossary term 'just-in-time compilation'
Browse files Browse the repository at this point in the history
  • Loading branch information
PassionPenguin committed Dec 29, 2024
1 parent 07efed5 commit d85c7f6
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 1 deletion.
4 changes: 3 additions & 1 deletion files/en-us/glossary/compile/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ page-type: glossary-definition

Typically, a compiler transforms code written in a higher-level language such as [C++](https://en.wikipedia.org/wiki/C++), [Rust](<https://en.wikipedia.org/wiki/Rust_(programming_language)>), or [Java](<https://en.wikipedia.org/wiki/Java_(programming_language)>) into executable (runnable) code — so-called **binary code** or **machine code**. [WebAssembly](/en-US/docs/WebAssembly), for example, is a form of executable binary code that [can be compiled from code written in C++, Rust, C#, Go, Swift, and several other languages](https://webassembly.org/getting-started/developers-guide/) and run on any web page, with most features supported in modern browsers (see [browser compatibility table](/en-US/docs/WebAssembly#browser_compatibility)).

Most compilers perform either ahead-of-time (AOT) compilation or just-in-time (JIT) compilation.
Most compilers perform either ahead-of-time (AOT) compilation or {{glossary("Just In Time Compilation", "just-in-time (JIT)")}} compilation.

The GNU `gcc` compiler is one well-known example of an AOT compiler. AOT compilers are typically invoked from the command line in a shell environment (from within a terminal or console) or within an {{Glossary("IDE")}}.

Expand All @@ -22,3 +22,5 @@ Compilers may also translate among higher-level languages — for example, from

- [Compiler](https://en.wikipedia.org/wiki/Compiler) on Wikipedia
- [WebAssembly](/en-US/docs/WebAssembly)
- Related glossary terms:
- {{glossary("Just In Time Compilation", "Just-In-Time (JIT)")}}
17 changes: 17 additions & 0 deletions files/en-us/glossary/just_in_time_compilation/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
title: Just-In-Time Compilation (JIT)
slug: Glossary/Just_In_Time_Compilation
page-type: glossary-definition
---

**JIT** (_Just-In-Time Compilation_) is a {{glossary("compile", "compilation")}} process in which code is translated from an intermediate representation or a higher-level language (e.g., {{glossary("JavaScript")}} or Java bytecode) into machine code at runtime, rather than prior to execution. This approach combines the benefits of both interpretation and ahead-of-time (AOT) compilation.

JIT compilers typically continuously analyze the code as it is executed, identifying parts of the code that are executed frequently (hot spots) and if the speedup gains outweigh the compilation overhead, then the JIT compiler compiles those parts into machine code. The compiled code is then executed directly by the processor, which can result in significant performance improvements.

JIT is commonly used in modern {{glossary("browser", "web browsers")}} to optimize the performance of JavaScript code.

## See also

- [Just-In-Time Compilation](https://en.wikipedia.org/wiki/Just-in-time_compilation) on Wikipedia
- Related glossary terms:
- {{glossary("compile")}}

0 comments on commit d85c7f6

Please sign in to comment.