Különbség a JIT és a tolmács között

JIT vs. tolmács

A Just In Time összeállítás (más néven dinamikus fordítás vagy JIT) egy olyan módszer, amelyet a számítástechnikában használnak egy számítógépes program futási teljesítményének javítására. Ez a futásidejű környezetekben talált két ötlet összekapcsolása: Bytecode fordítás és dinamikus fordítás (ezt a folyamatot egyes programozási nyelvek implementációi használják annak érdekében, hogy teljesítményt szerezzenek, miközben egy rendszer végrehajt egy műveletet).

A tolmács a legpontosabban leírja egy művelet végrehajtását egy számítógépes program segítségével. A tolmács által ténylegesen végrehajtott műveletek típusától néhány változat van: Közvetlenül végrehajtja a program forráskódját; lefordítja a forráskódot egy reprezentációra, amely hatékony közbenső reprezentáció, és végrehajtja az említett kódot; előre végrehajtott kódot hajt végre, amelyet egy tolmácsrendszer részét képező fordító tárolt és készített.

A JIT képes kombinálni az értelmezés és a statikus (azaz idő előtti) összeállítás előnyeit. Tolmácsként a JIT javíthatja a teljesítményt a lefordított kódblokkok gyorsítótárazása révén - összehasonlítva a kód minden sorának vagy operandusának egyszeri újraértékelésével, amikor csak fordul elő (mint az értelmezett nyelven). Csakúgy, mint a statikus kódfordító kód a fejlesztéskor, a JIT képes újrafordítani a kódot, ha ez a legkedvezőbb cselekvési terv. A statikus fordításhoz hasonlóan a JIT a biztonsági garanciákat is képes érvényesíteni.

A fordítókhoz hasonlóan a tolmácsok képesek is a kód lefordítására. Mindkettő a programozási nyelvek végrehajtásának elsődleges módszere; azonban a „fordító” vagy az „tolmács” kategóriái nem különböznek egymástól (a kódfordító kettős szerepe miatt). A tolmács használatának legnyilvánvalóbb hátránya, hogy miután a kódot értelmezték, a program elkerülhetetlenül lassabban fog futni, mint amikor egyszerűen összeállítja a kódot; sokkal kevesebb időre van szükség a kódolás értelmezéséhez, mint a fordításhoz és futtatáshoz (különös tekintettel a kód prototípusozására és tesztelésére).

Általánosságban elmondható, hogy a JIT sokkal jobb teljesítményt nyújt, mint a tolmácsok, és sok esetben sokkal jobb teljesítményt nyújt, mint a statikus fordítók. A JIT-rel szembeni fölénye azonban nem akadályozza meg néhány jelentős hátrányt: az alkalmazás kezdeti végrehajtásakor kissé késik (a mellékhatás, ha időt vesz igénybe a bájtkód betöltése és összeállítása). Végül jobb kódolást generál; az ehhez kapcsolódó kezdeti késés azonban a kódolás minőségével növekszik.

Összefoglaló:

1. A JIT egy olyan módszer, amely javítja a futási teljesítmény teljesítményét futási környezetben; egy tolmács határozza meg egy művelet végrehajtását egy számítógépes program segítségével.

2. A JIT egyesíti az értelmezés és a statikus összeállítás előnyeit; egy tolmács ugyanúgy fordíthatja a kódot, mint egy fordító, de a program sebességének kárára.