Razlika med JIT in tolmačem

JIT proti tolmaču

Kompilacija Just In Time (znana tudi kot dinamično prevajanje ali JIT) je tehnika, ki se uporablja pri računanju za izboljšanje kakovosti izvajanja računalniškega programa. Gre za združevanje dveh idej, ki jih najdemo v izvajalskih okoljih: sestavljanje bajt kod in dinamična kompilacija (kar je postopek, ki ga nekatere implementacije programskega jezika uporabljajo za doseganje zmogljivosti, medtem ko sistem izvaja dejanje).

Tolmač najbolj natančno opiše izvedbo dejanja s pomočjo računalniškega programa. Obstaja nekaj razlik v vrsti dejanj, ki jih tolmač dejansko izvaja: neposredno izvrši izvorno kodo programa; izvorno kodo prevede v predstavitev, ki je učinkovito vmesno predstavitev, in nato izvrši omenjeno kodo; izvrši vnaprej sestavljeno kodo, ki jo je shranil in ustvaril prevajalnik, ki je del sistema tolmača.

JIT je sposoben kombinirati prednosti, ki jih najdemo tako v interpretaciji kot v statični (torej pred časom) sestavljanju. Kot tolmač je JIT sposoben izboljšati zmogljivost s predpomnjenjem rezultatov blokov kode, ki so bili prevedeni - v primerjavi s preprosto ponovno oceno vsake vrstice ali operanda v kodi vsakič, ko se pojavi (kot v interpretiranem jeziku). Tako kot statična koda za zbiranje v času razvoja je tudi JIT zmožna prekomponirati kodo, če je to najugodnejši načrt delovanja. Na enak način kot statična kompilacija JIT lahko uveljavi varnostne garancije.

Tako kot prevajalniki imajo tudi tolmači zmožnost prevajanja kode. Obe sta primarni metodi izvajanja programskih jezikov; vendar kategorije "prevajalnik" ali "tolmač" niso različne (za njihove dvojne vloge kot prevajalci kode). Najbolj očitna pomanjkljivost uporabe tolmača je, da bo program, ko ga razlagamo, neizogibno deloval počasneje kot pri preprosto sestavljanju kode; vendar je za interpretacijo kodiranja potrebnih veliko manj časa kot pri sestavljanju in zagonu (še posebej pomembno pri prototipiranju in testiranju kode).

Na splošno JIT zagotavlja veliko boljše delovanje kot tolmači in v mnogih primerih zagotavlja veliko boljše delovanje kot statični prevajalniki. Njegova prednost pred JIT-om pa mu ne preprečuje nekaterih večjih pomanjkljivosti: pri začetku izvajanja aplikacije je majhna zamuda (stranski učinek je potreben čas za nalaganje in sestavljanje bajt kod). Sčasoma bo ustvaril boljše kodiranje; vendar se bo začetna zamuda, ki je povezana s tem, povečala s kakovostjo kodiranja.

Povzetek:

1. JIT je tehnika, ki se uporablja za izboljšanje kakovosti izvajanja izvajanja v izvajalnem okolju; tolmač definira izvedbo dejanja s pomočjo računalniškega programa.

2. JIT združuje prednosti interpretacije in statične kompilacije; tolmač lahko kodo prevede tako kot prevajalnik, vendar na škodo hitrosti programa.