Obsah

JIT (Just-In-Time Kompilace)

JIT kompilátor sleduje, které části kódu se spouštějí nejčastěji (tzv. „hot spots“). Tyto části pak přeloží přímo do instrukcí procesoru, aby se při příštím volání nemusely znovu interpretovat.

1. Jak JIT funguje?

Proces typicky probíhá v těchto krocích:

1. **Zdrojový kód:** Programátor napíše kód (např. v Javě nebo C#).
2. **Bytecode:** Kód se nejdříve přeloží do univerzálního mezikódu (Bytecode), který je přenositelný mezi systémy.
3. **Interpretace:** Při spuštění začne interpret číst bytecode a vykonávat ho.
4. **Profilování:** JIT kompilátor sleduje, které funkce se volají opakovaně (např. v [[it_encyklopedie:iterace|cyklu]]).
5. **Kompilace:** Tyto "horké" části JIT bleskově přeloží do nativního strojového kódu daného procesoru a uloží je do mezipaměti.
6. **Zrychlení:** Při dalším průchodu se už nepoužije interpret, ale spustí se přímo zkompilovaný kód v plné rychlosti.

2. Srovnání způsobů vykonávání kódu

Metoda Rychlost startu Rychlost běhu Příklad
Interpretace Okamžitá Pomalá Python, Bash
AOT Kompilace Pomalá (čeká se na build) Maximální C++, Rust, Go
JIT Kompilace Rychlá Téměř maximální Java, C#, JS (V8)

3. Hlavní výhody JIT

4. Nevýhody a úskalí

5. Kde se s JIT setkáte?

Zajímavost: Existuje i koncept Tracing JIT, který nekompiluje celé funkce, ale sleduje konkrétní cestu (trasu) skrz kód (včetně všech větvení) a tu pak optimalizuje jako jeden lineární kus kódu.

Zpět na Skriptovací jazyky