Kokoelma lennossa

Alalla atk-ohjelmointi , on-the-fly kokoelma (tunnetaan myös dynaaminen kääntäminen , just-in-time kokoelma tai JAT kokoaminen  , Englanti, ajonaikainen kääntäminen tai JIT kokoelma ) on tekniikka, jolla pyritään parantamaan tavukoodikoonnettujen järjestelmien suorituskyky kääntämällä tavukoodi natiivikoneen koodiksi ajon aikana. Lennossa kokoaminen perustuu kahteen vanhaan ideaan: tavukoodikokoelmaan ja dynaamiseen kokoamiseen.

Kuvaus

Järjestelmässä, jota kutsutaan bytecode-käännetyksi (bytecode-compiled anglicism of bytecode ), lähdekoodi käännetään etukäteen tai lennossa (käynnissä) välimuodossa , tavukoodissa . Tämä pätee esimerkiksi kieliin Limbo , Smalltalk , Perl , PHP , Python , Ruby , Lua , GNU Common Lisp tai jopa Java . Bytecode ei ole konekoodi, toisin sanoen sitä ei ole optimoitu tietyn tyyppiselle tietokonearkkitehtuurille. Sanomme, että tavukoodi on siirrettävissä eri arkkitehtuurien välillä . Tämä bytecode sitten tulkitaan tai muuten suoritetaan siinä virtuaalikoneen , kaikissa tapauksissa ohjelman suorittamiseksi.

Tavanomaisessa käännöksessä on tavallisessa mielessä kääntäminen, joka tuottaa tavukoodia, vasta ensimmäinen vaihe monimutkaisemmassa suoritusprosessissa. Tällöin tavukoodi otetaan käyttöön kohdejärjestelmässä, ja kun tämä tavu suoritetaan , ohjelmointikielen kääntäjä kääntää lennon aikana sen alkuperäiseksi konekoodiksi (eli optimoitu ohjelmaa suorittavan koneen arkkitehtuurille). Tämä voidaan tehdä koko tiedostolle tai nimenomaan ohjelman toiminnolle.

Tämän lähestymistavan tavoitteena on yhdistää alkuperäisen kokoamisen ja tavukoodin edut:

Historia

Lennon kokoaminen otettiin käyttöön 1980- luvun alussa Smalltalk  : VisualWorksin kaupallisella toteutuksella . Tällä hetkellä sitä käytetään myös LLVM: ssä , Microsoftin .NET-virtuaalikoneessa tai useimmissa Java-virtuaalikoneiden toteutuksissa .

Katso myös

Aiheeseen liittyvät artikkelit

Ulkoiset linkit

Lähteet