Pipedija - tautosaka, gandai, kliedesiai ir jokios tiesos! Durniausia wiki enciklopedija durnapedija!
JIT
JIT - tai tokia santrumpa, kas iš anglų kalbos reiškia, kad Just In Time - tipo, kai tik prireiks. Toksai įvardinimas yra naudojamas, kai kalbama apie kompiliatorius, kurie išties veikia lyg būtų interpretatoriai, bet išties sukompiliuojantys kodą, ale tiktai prieš pat vykdant.
Tai gaunasi tokie atseit ir kompiliatoriaus, ir interpretatoriaus privalumai - ir kad programos kompiliuoti nereiks, o ji bus sorcuose vykdoma, ir kad jau kai vykdoma, tai bus taip pat greitai kaip sukompiliuota, t.y., labai greitai. Išties gi čia vietoje to gaunasi kompromisas, ir dar toksai, kur visame gražume - gabaliukus kodo vis reikia ir reikia kompiliuoti, o dėl tos kompiliacijos vyksta klaikus stabdymas, tuo tarpu interpretatorius visvien normaliai neveikia, nes reikia perkompiliuoti gi.
Itin ryškiai JIT pliusai pasireiškia, kai kalba eina apie dideles programas, kurių perkompiliavimui gali prireikti minučių, valandų ar kartais netgi ir dienų ar savaičių. JIT leidžia kompiliuoti tik tuos kodo fragmentus, kurie realiai bus vykdomi, o tai reiškia, kad aktualios kompiliacijos apimtys gali sumažėti dešimtis ar šimtus kartų - atitinkamai, gali susitaupyti labai daug laiko programuotojui, o gal būt ir galutiniam vartotojui. Čia teoriškai.
Kai kadaise Sun Microsystems pasirinko Java kalbos vykdymui būtent radikalų JIT, kur nebūtų nei interpretacijos, nei galimybės turėti atskiro kompiliavimo į neperkeliamą dvejetainį kodą, tai jie rėmėsi irgi prielaidomis, kad bus galima turėti gerą vykdymo greitį, išvengti pririšimo prie hardwaro ir taip toliau. Išties gi gavos nuolatinis stabdymas ir patyčios iš Sun pasakojimų, kaip esą jų kodas esąs greitas. Būtent JIT modelis labiausiai ir pagadino Java kalbos reputaciją, nes apie 199x metus buvo banaliai per daug aplenkęs savo laiką.
Dabartiniais laikais JIT naudojamas ir plačiau, pvz., C Sharp, Dart kalbose ir netgi kompiuterių emuliatoriuose, nes išties kartais ir leidžia gauti tą labai gerą greitį, kartu išvengiant labai masyvių, didžiulių perkompiliavimų.
Dar žr.
- AOT - čia tipo atvirkščiai, negu JIT