JIT vs. tlumočník
Kompilace Just In Time (také známá jako dynamický překlad nebo JIT) je technika používaná při práci na počítači ke zlepšení kvality běhového výkonu počítačového programu. Jde o sloučení dvou myšlenek nalezených v runtime prostředích: kompilace bytecode a dynamická kompilace (což je proces, který některé implementace programovacího jazyka používají k získání výkonu, zatímco systém provádí akci).
Tlumočník nejpřesněji popisuje provedení akce pomocí počítačového programu. Existuje několik variací typu akcí, které interpret skutečně provádí: přímo provádí zdrojový kód programu; převádí zdrojový kód do reprezentace, která je efektivní prostřední reprezentací, a poté provede uvedený kód; provede předkompilovaný kód, který byl uložen a vytvořen kompilátorem, který je součástí systému tlumočníka.
JIT má schopnost kombinovat výhody zjištěné jak při interpretaci, tak statickém (tedy předem) kompilaci. Jako tlumočník je JIT schopen zlepšit výkon pomocí výsledků ukládání bloků kódu, které byly přeloženy, do mezipaměti - ve srovnání s jednoduchým přehodnocením každé řádky nebo operandu v kódu pokaždé, když k němu dojde (jako v interpretovaném jazyce). Stejně jako statický kompilační kód v době vývoje je JIT schopen rekompilovat kód, pokud se ukáže, že je to nejvýhodnější akční plán. Stejně jako statická kompilace je JIT také schopna vymáhat bezpečnostní záruky.
Stejně jako překladače, i tlumočníci mají schopnost překládat kód. Oba jsou primární metody implementace programovacích jazyků; kategorie „překladač“ nebo „tlumočník“ se však neliší (pro jejich duální role jako překladatelé kódu). Nejzjevnější nevýhodou použití tlumočníka je, že jakmile je kód interpretován, program nevyhnutelně poběží pomaleji než při jednoduchém kompilaci kódu; interpretaci kódování však zabere mnohem méně času než kompilace a spuštění (zejména při vytváření prototypů a testování kódu).
Obecně lze říci, že JIT poskytuje mnohem lepší výkon než tlumočníci av mnoha případech poskytuje mnohem lepší výkon než statické kompilátory. Jeho nadřazenost nad JIT jej však nezakazuje mít některé hlavní nevýhody: Při počátečním spuštění aplikace existuje malé zpoždění (vedlejší účinek, který zabírá čas na načtení a kompilaci bajtkódu). Nakonec vygeneruje lepší kódování; počáteční zpoždění spojené s tím však vzroste s kvalitou kódování.
Souhrn:
1. JIT je technika používaná ke zlepšení kvality výkonu runtime v runtime prostředí; interpret definuje provedení akce pomocí počítačového programu.
2. JIT kombinuje výhody interpretace a statického kompilace; tlumočník umí překládat kód stejně jako kompilátor, ale na úkor rychlosti programu.