Mis on programmeerimiskompilaator?

Kompilaator on tarkvaraprogramm, mis teisendab inimese programmeerija kirjutatud programmeerimiskoodi kahendkoodiks (masinkoodiks), mida saab aru ja täidab konkreetne CPU. Muutmise akt lähtekood masinkoodiks nimetatakse "kompileerimiseks". Kui kogu kood muundatakse korraga enne, kui see jõuab seda käivitavatele platvormidele, nimetatakse seda protsessi enneaegseks komplekteerimiseks (AOT).

Millised programmeerimiskeeled kasutavad AOT-kompilaatorit?

Paljud tuntud programmeerimiskeeled vajavad kompilaatorit, sealhulgas:

  • Fortran
  • Pascal
  • Assamblee keel
  • C
  • C ++
  • Kiire

Enne Java ja C # olid kõik arvutiprogrammid kas kompileeritud või tõlgendatud.

Aga tõlgendatud kood?

Tõlgendatud kood täidab programmis olevad juhised, kompileerimata neid masinakeelde. Tõlgendatud kood sõelub lähtekoodi otse, seotakse virtuaalse masinaga, mis tõlgib masina koodi täitmise ajal või kasutab ära eelkompileeritud koodi. Javascript tõlgendatakse tavaliselt.

Kompileeritud kood töötab kiiremini kui tõlgendatud kood, kuna see ei pea toimingu tegemise ajal mingit tööd tegema. Töö on juba tehtud.

instagram viewer

Millised programmeerimiskeeled kasutavad JIT-i kompilaatorit?

Java ja C # kasutavad just-in-time kompilaate. Just-in-time koostajad on AOT-i koostajate ja tõlkide kombinatsioon. Pärast Java programmi kirjutamist muudab JIT-i kompilaator koodi pigem baidikoodiks kui koodiks, mis sisaldab juhiseid konkreetse riistvaraplatvormi protsessorile. Baidikood on platvormist sõltumatu ja seda saab saata ning kasutada igal Java-toega platvormil. Teatud mõttes on programm koostatud kahes etapis.

Sarnaselt kasutab C # JIT-kompilaatorit, mis on osa Common Language Runtime-st, mis haldab kõigi .NET-rakenduste täitmist. Igal sihtplatvormil on JIT-i kompilaator. Kuni platvorm saab aru vahepealsest baidikoodikeele teisendusest, töötab programm.

AOT ja JIT koostamise plussid ja miinused

Aja ootamise (AOT) aegne kompilatsioon tagab kiirema käivitusaja, eriti kui suur osa koodist käivitatakse käivitamisel. Kuid see nõuab rohkem mälu ja rohkem kettaruumi. JOT-kompileerimine peab olema suunatud kõigi võimalike täitmisplatvormide jaoks kõige vähem võimelistele.

Just-in-time (JIT) kompileerimine profiilib sihtplatvormi, samal ajal kui see töötab ja uuesti kompileeritakse lennult parema jõudluse saavutamiseks. JIT genereerib täiustatud koodi, kuna see on suunatud praegusele platvormile, kuigi tavaliselt kulub selle käivitamiseks rohkem aega kui AOT-i kompileeritud koodil.