Interpret (software): Porovnání verzí
Smazaný obsah Přidaný obsah
Bez shrnutí editace |
Bez shrnutí editace |
||
Řádek 18:
Interpretovaný kód je pomalejší než běh kompilovaného kódu, protože interpret musí analyzovat každý program v každém okamžiku kdy je spuštěn a pak provést požadovanou akci, vzhledem k tomu, že kompilovaný kód právě provádí akci ve stanovené souvislosti stanovené na základě kompilace. Tato run-time analýza je známá jako "interpretační režie". Přístup k proměnné je také pomalejší, protože v interpretu musí být provedeno mapování identifikátorů na paměťová místa opakovaně na run-time a ne na kompilaci.
Zde jsou různé kompromisy mezi rychlostí vývoje, při použití interpreta a rychlosti provedení programu při použití kompilátoru. Některé systémy (např. některé [[Lisp|LISP]]) umožňují interpretovaný a kompilovaný kód volat navzájem a sdílet proměnné. To znamená, že jednou je program testován a odladěn pod interpretem lze jej kompilovat a tím využívat rychlejšího provedení
== Interpret Bytekódu ==
Řádek 25:
== Interpret abstraktního syntaktického stromu ==
Mimo možnosti interpretace a kompilace, je jiný přístup a to
Proto byl navržen AST jako lepší průběžný formát pro Just-in-time kompilátory než bytekód. Rovněž umožňuje provádět lepší analýzu během běhu. Na [[Java_(programovací_jazyk)|Java]] interpretu založeném na AST bylo dokázáno, že je rychlejší než obdobné interprety bytekódu, díky této silnější optimalizaci dovoluje mít kompletní strukturu programu, která je k dispozici v průběhu spuštění.
Řádek 33:
Další možností, která využívá výhod interpretů, byte-kód interpretů a kompilací je [[JIT|just-in-time]] kompilace (nebo JIT = právě v čas), což je technika, ve které je meziprodukt reprezentace programu kompilován do nativního [[Strojový_kód|strojového kódu]] za běhu. To vyrovnává účinnost běhu nativního kódu, na nároky na čas spuštění a pamět, pokud je bytekód nebo AST nejprve kompilován. Adaptivní optimalizace je doplňkovou technikou, ve které interpret profiluje běžící program a sestavuje své nejčastěji kompilované části do nativního kódu. Obě techniky jsou několik desítek let staré, jsou uvedeny v jazyce, jako je [[Smalltalk]] (1980).
Just-in-time kompilaci získala
== Historie ==
|