JIT vs. tulkki
Just In Time -kokoonpano (tunnetaan myös nimellä dynaaminen käännös tai JIT) on laskennassa käytetty tekniikka tietokoneohjelman suorituksen suorituskyvyn laadun parantamiseksi. Kyse on kahden runtime-ympäristöistä löydetyn idean yhdistämisestä: Tavukoodikokoonpano ja dynaaminen kääntäminen (prosessia, jota jotkut ohjelmointikielen toteutukset käyttävät saavuttaakseen suorituskyvyn, kun järjestelmä suorittaa toimintoa).
Tulkki kuvaa tarkimmin toimenpiteen suorittamisen tietokoneohjelman kautta. Tulkin tosiasiallisesti suorittamissa toimintotyypeissä on muutama muunnos: Se suorittaa suoraan ohjelman lähdekoodin; se muuntaa lähdekoodin esitykseksi, joka on tehokas väliehdotus, ja suorittaa sitten mainitun koodin; se suorittaa esikäännetyn koodin, jonka tulkkijärjestelmään kuuluva kääntäjä on tallentanut ja luonut.
JIT pystyy yhdistämään sekä tulkinnan että staattisen (toisin sanoen etukäteen tapahtuvan) kokoamisen edut. Tulkkina JIT pystyy parantamaan suorituskykyä välimuistiin tallennetuilla koodilohkoilla, jotka on käännetty - verrattuna yksinkertaisesti uudelleenarvioimaan koodin kaikki rivit tai operandit aina, kun ne ilmenevät (kuten tulkitsevalla kielellä). Aivan kuten staattinen koodauskoodi kehitysvaiheessa, JIT pystyy kääntämään koodin uudelleen, jos sen todetaan olevan edullisin toimintasuunnitelma. Samoin kuin staattinen kokoaminen, JIT pystyy myös turvaamaan turvallisuustakuut.
Aivan kuten kääntäjät, myös tulkeilla on kyky kääntää koodi. Molemmat ovat ensisijaisia tapoja toteuttaa ohjelmointikielet; "Kääntäjän" tai "tulkin" kategoriat eivät kuitenkaan ole erillisiä (niiden kaksoisroolien suhteen koodin kääntäjinä). Tulkin käytön ilmeisin haitta on, että kun koodi on tulkittu, ohjelma ajaa väistämättä hitaammin kuin yksinkertaisesti koodin kääntämisen yhteydessä; koodauksen tulkinta vie kuitenkin paljon vähemmän aikaa kuin koottaminen ja suorittaminen (erityisen tärkeätä koodin prototyyppien määrittämisessä ja testaamisessa).
Yleisesti ottaen JIT tarjoaa paljon paremman suorituskyvyn kuin tulkit, ja monissa tapauksissa tarjoaa paljon paremman suorituskyvyn kuin staattiset kääntäjät. Sen paremmuus JIT: ään nähden ei kuitenkaan estä sitä, että sillä olisi joitain suuria haittoja: Sovelluksen alussa suorittamisessa on pieni viive (sivuvaikutus, kun vie aikaa aikaa ladata ja tavukoodi koota). Se tuottaa lopulta paremman koodauksen; alkuvaihe, joka liittyy siihen, lisää kuitenkin koodauksen laatua.
Yhteenveto:
1. JIT on tekniikka, jota käytetään parantamaan suorituksen suorituskyvyn laatua suoritusaikaympäristössä; tulkki määrittelee toimenpiteen suorittamisen tietokoneohjelman kautta.
2. JIT yhdistää tulkinnan ja staattisen kokoamisen edut; tulkki voi kääntää koodia aivan kuin kääntäjä, mutta ohjelman nopeuden vahingoksi.