JIT i tumač

Anonim

JIT vs. Tumač

Kompilacija Just In Time (također poznata kao dinamički prijevod ili JIT) tehnika je korištena u računalstvu kako bi se poboljšala kvaliteta performansi runtime računalnog programa. To je kombinacija dviju ideja koja se nalaze u okruženjima runtime: sastavljanje bajtova i dinamička kompilacija (što je proces kojim se neke implementacije programskog jezika koriste kako bi se dobile performanse dok je sustav izvršavao akciju).

Tumač najpreciznije opisuje izvršenje akcije putem računalnog programa. Postoji nekoliko varijacija na vrsti akcija koje tumač zapravo izvršava: izravno izvodi izvorni kod programa; prevodi izvorni kod u prikaz koji je učinkovita međuprupa, a zatim izvršava navedeni kod; izvršava pretkomilirani kôd koji je pohranio i stvorio prevodilac koji je dio sustava prevoditelja.

JIT ima sposobnost kombiniranja prednosti koje se nalaze u tumačenju i statičkoj (tj. Ispred vremena) kompilacije. Kao tumač, JIT je u mogućnosti poboljšati performanse kroz predmemoriranje rezultata blokova kodova koji su prevedeni - u usporedbi s jednostavnim ponovnim ocjenjivanjem svake linije ili operanda u kodu svaki put kad se pojavi (kao u interpretiranom jeziku). Baš kao i statički kodeks kodiranja u vrijeme razvoja, JIT je u mogućnosti recompile koda ako se to utvrdi da je najprikladniji plan djelovanja. Isto kao i statična kompilacija, JIT je sposoban provoditi sigurnosna jamstva.

Baš kao i sastavljači, tumači imaju sposobnost prevoditi kod. Oba su primarna metoda implementacije programskih jezika; međutim, kategorije "prevoditelja" ili "tumača" nisu različite (za njihove dvostruke uloge kao prevoditelji koda). Najočitiji nedostatak korištenja tumača je da, kad se tumači kôd, program će neizbježno raditi sporiji nego kad jednostavno sastavlja kôd; međutim, potrebno je puno manje vremena za tumačenje kodiranja nego što je potrebno za sastavljanje i pokretanje (osobito relevantno kod prototipa i kodiranja).

Općenito govoreći, JIT pruža mnogo bolje performanse od tumača i, u mnogim slučajevima, pruža mnogo bolje performanse od statičnih sastavljača. Njegova superiornost nad JIT-om, međutim, ne sprječava da ima nekih glavnih nedostataka: Postoji malo odgode pri početku izvršavanja aplikacije (nuspojava od uzimanja vremena za učitavanje i sastavljanje bajteksa). Na kraju će generirati bolje kodiranje; međutim, početno kašnjenje svojstveno tome će se povećati kvalitetom kodiranja.

Sažetak:

1. JIT je tehnika koja se koristi za poboljšanje kvalitete performansi runtime u okruženju runtime; tumač definira izvršenje akcije putem računalnog programa.

2. JIT kombinira prednosti tumačenja i statičke kompilacije; tumač može prevesti kod kao prevodilac, ali na štetu brzine programa.