Kompilace za běhu

V oblasti počítačového programování , on-the-fly kompilace (také známý jako dynamický překlad , just-in-time kompilace nebo JAT kompilace  , v angličtině, jit nebo JIT kompilace ) je technika zaměřená na zlepšení výkon systémů kompilovaných bytecode překládáním bytecode do nativního strojového kódu za běhu. Online kompilace je založena na dvou starých myšlenkách: kompilaci bytecode a dynamická kompilace.

Popis

V systému zvaném bytecode-compiled (Anglicism of bytecode-compiled ) je zdrojový kód kompilován předem nebo za běhu (za běhu) v mezilehlé reprezentaci , bytecode . To je například případ jazyků Limbo , Smalltalk , Perl , PHP , Python , Ruby , Lua , GNU Common Lisp nebo dokonce Java . Bytecode není strojový kód, to znamená, že nejde o kód optimalizovaný pro určitý typ architektury počítače. Říkáme, že bytecode je přenosný mezi různými architekturami . Tento bytecode je poté interpretován nebo jinak spuštěn virtuálním strojem , ve všech případech k provedení programu.

V prostředí kompilace za běhu je kompilace v klasickém smyslu, která vytváří bytecode, pouze prvním krokem ve složitějším procesu provádění. V tomto případě je bytecode nasazen na cílovém systému a při spuštění tohoto bytecode jej kompilátor programovacího jazyka za běhu převede do nativního strojového kódu (tj. Optimalizovaného pro architekturu stroje, na kterém je program spuštěn). To lze provést na celém souboru nebo konkrétně na funkci programu.

Cílem tohoto přístupu je spojit výhody nativní kompilace a bytecode:

Dějiny

Kompilace za provozu byla představena počátkem 80. let komerční implementací Smalltalk  : VisualWorks . V současné době se také používá v LLVM , virtuálním stroji .NET společnosti Microsoft nebo ve většině implementací virtuálních strojů Java .

Podívejte se také

Související články

externí odkazy

Zdroje