JIT ja tulkki

Anonim

JIT vs. tulkki

Just In Time -kokoelma (tunnetaan myös dynaamisena käännöksenä tai JIT: nä) on tekniikka, jota käytetään laskentaan tietojenkäsittelyohjelman suorituskyvyn parantamiseksi. Se on kahden idean yhdistäminen käyttöympäristöissä: Bytecode-kokoonpano ja dynaaminen kokoaminen (joka on prosessi, jota jotkut ohjelmointikieltotehtävät käyttävät voidakseen saavuttaa suorituskykyä järjestelmän suorittamisen aikana).

Tulkki kuvaa tarkemmin toimien toteutuksen tietokoneohjelmalla. Tapahtumien tyyppiä on muutamia muunnelmia, joita tulkki tosiasiallisesti suorittaa: Se suorittaa suoraan ohjelman lähdekoodin; se kääntää lähdekoodin edustukseksi, joka on tehokas väli-esitys, ja suorittaa sitten mainitun koodin; se suorittaa esi-koodatun koodin, joka on tallentanut ja luonut kääntäjä, joka on osa tulkkijärjestelmää.

JIT: llä on kyky yhdistää sekä tulkinta että staattinen (toisin sanoen aika ajoin) kokoelma. Tulkkeina JIT pystyy parantamaan suorituskykyä tulkittujen koodilohkojen välimuistituloksissa - verrattuna pelkästään uudelleenarviointiin jokaisen rivin tai operandin osalta koodissa joka kerta, kun se tapahtuu (kuten tulkitetulla kielellä). Aivan kuten staattisen kääntäjäkoodin kehitysvaiheessa, JIT pystyy kääntämään koodin uudelleen, jos se on edullisin toimintasuunnitelma. Samalla tavalla kuin staattinen kokoaminen, JIT pystyy valvomaan turvatakuita.

Aivan kuten kääntäjät, tulkilla on kyky kääntää koodia. Molemmat ovat ensisijaisia ​​menetelmiä ohjelmointikielten toteuttamiseksi. "kääntäjän" tai "tulkkeja" eivät kuitenkaan ole erillisiä (kaksoisrooleissa koodikääntäjinä). Ilmeisin haitta tulkkiin on se, että kun koodia tulkitaan, ohjelma väistämättä toimii hitaammin kuin yksinkertaisesti koodin koonnut; Kuitenkin koodauksen tulkitseminen kestää paljon vähemmän kuin sen kokoaminen ja suorittaminen (erityisesti prototyyppien ja testauskoodien osalta).

Yleisesti ottaen JIT tarjoaa paljon parempaa suorituskykyä kuin tulkit, ja monissa tapauksissa tarjoaa paljon parempaa suorituskykyä kuin staattiset kääntäjät. Sen ylivoimaisuus JIT: n suhteen ei estä sitä siitä, että sillä on joitain merkittäviä haittoja: Aloitettaessa sovellusta (sivuvaikutus, joka vie aikaa ladata ja kääntää tavutekstit) on pieni viive. Se lopulta tuottaa parempaa koodausta; kuitenkin sen alkuperäisen viivästymisen lisääntyminen koodauksen laadun myötä lisääntyy.

Yhteenveto:

1. JIT on tekniikka, jolla parannetaan runtime-suorituskyvyn suorituskykyä käyttöympäristössä; tulkki määrittelee toiminnan suorittamisen tietokoneohjelmalla.

2. JIT yhdistää tulkinnan ja staattisen kokoelman edut; tulkki voi kääntää koodia aivan kuin kääntäjä, mutta haittaa ohjelman nopeutta.