JIT a tlumočníka

Anonim

JIT vs. tlumočník

Kompilace Just In Time (také známá jako dynamický překlad nebo JIT) je technikou používanou v oblasti výpočetní techniky, která zvyšuje kvalitu běhového výkonu počítačového programu. Jedná se o sloučení dvou myšlenek nalezených v prostředích běhu: Bytecode kompilace a dynamická kompilace (což je proces, který některé implementace programovacích jazyků používají k dosažení výkonu, zatímco systém provádí akci).

Tlumočník nejlépe popisuje provádění akce prostřednictvím počítačového programu. Existuje několik variant týkajících se typu akcí, které tlumočník skutečně provádí: přímo provádí zdrojový kód programu; překládá zdrojový kód do reprezentace, která je účinným mezilehlým reprezentátem a pak provede uvedený kód; provádí předkompilovaný kód, který byl uložen a vytvořen překladačem, který je součástí systému tlumočníka.

JIT má schopnost kombinovat výhody nalezené jak v interpretaci, tak ve statické (tedy před časem) kompilaci. Jako tlumočník je JIT schopen zlepšit výkon prostřednictvím ukládání výsledků do paměti klíčových kódů, které byly přeloženy - ve srovnání s jednoduchým přehodnocením každého řádku nebo operandu v kódu pokaždé, když se vyskytuje (jako v interpretovaném jazyce). Stejně jako statický kompilátorový kód v době vývoje, JIT je schopen překompilovat kód, pokud se to považuje za nejvýhodnější plán akce. Také ve stejném smyslu jako statická kompilace je JIT schopen prosazovat bezpečnostní záruky.

Stejně jako kompilátory mají tlumočníci schopnost překládat kód. Oba jsou primární metody implementace programovacích jazyků; kategorie "překladač" nebo "tlumočník" však nejsou odlišné (pro své dvojí role jako překladače kódů). Nejzřejmější nevýhodou při používání tlumočníka je to, že jakmile bude kód interpretován, program bude nevyhnutelně běhat pomaleji než při jednoduchém sestavování kódu; nicméně trvá mnohem méně času na interpretaci kódování než při kompilaci a spuštění (zvláště pokud jde o prototypování a testovací kód).

Obecně řečeno, JIT poskytuje mnohem lepší výkon než tlumočníci a v mnoha případech poskytuje mnohem lepší výkon než statické překladače. Jeho nadřazenost vůči JIT však nezbavuje některé závažné nevýhody: při zpočátku spouštění aplikace (vedlejší efekt časového načítání a kompilace byteku) dochází k nepatrnému zpoždění. Nakonec bude generovat lepší kódování; avšak počáteční počáteční zpoždění se zvýší s kvalitou kódování.

Souhrn:

1. JIT je technika používaná ke zlepšení kvality výkonu runtime v prostředí runtime; tlumočník definuje provedení akce prostřednictvím počítačového programu.

2. JIT kombinuje výhody interpretace a statické kompilace; tlumočník může přeložit kód stejně jako kompilátor, ale na úkor rychlosti programu.