Á Red Hat
Á núverandi þróunarstigi eru þýðendur í milliframsetningu MIR undirbúnir
MIR-millikóðann er hægt að setja fram á tvíundar- og textaformi (læsilegt). Hægt er að keyra þennan kóða í túlki og hægt er að búa til vélkóða út frá honum (x86_64, í ARM64, PPC64 og MIPS64 áætlunum). Það er líka mögulegt að framkvæma andstæða umbreytingu - frá MIR til CIL, Java bætikóða, WebAssembly og C kóða.
Meðal eiginleika MIR, ströng vélritun, stuðningur við einingar og aðgerðir, útvegun leiðbeininga um tegundabreytingu, samanburð, reikni- og rökfræðilegar aðgerðir, greiningar o.s.frv. Einingar, sem innihalda mengi aðgerða sem breytt er í MIR sniðið, er hægt að hlaða í formi bókasöfn og geta einnig hlaðið utanaðkomandi C kóða.
Helsti kosturinn við að keyra millikóða í JIT í stað þess að safna saman í innfæddar keyranlegar skrár er hæfileikinn til að búa til þéttar skrár sem hægt er að keyra án þess að endurbyggja á mismunandi vélbúnaðararkitektúr (x86, ARM, PPC, MIPS). Fyrir óstuddan arkitektúr er túlkunarhamur tiltækur, sem í tilfelli MIR er 6-10 sinnum hægari en JIT.
Ókostir núverandi JIT þýðenda
Sagt er að GCC og LLVM séu of uppblásin, hafi lágan safnhraða og erfitt sé að innleiða samsetta hagræðingu fyrir mismunandi forritunarmál. MIR verktaki reyndu að leysa þetta
vandamál og sett markmið:
- Samantekt í MIR ætti að vera að minnsta kosti 100 sinnum hraðari en í GCC;
- JIT fyrir MIR framkvæmd verður að vera mjög þéttur og innihalda um það bil 15 þúsund línur af kóða;
- Framkvæmd MIR með JIT ætti ekki að vera meira en 30% hægari en frammistaða keyrslu sem er unnin úr sama C kóða í GCC (með "-O2" fínstillingum);
- Frumstillingarstig áður en raunveruleg framkvæmd hefst ættu að taka 100 sinnum styttri tíma;
- MIR framsetningin fyrir JIT verður að vera 100 sinnum minni en keyrsluefnið sem er safnað saman í GCC.
Í núverandi mynd er MIR innleiðingin að mörgu leyti á undan settum markmiðum í upphafi: prófanir hafa sýnt að samantektarafköst í MIR eru 2 sinnum hraðari en „GCC -O178“, frammistaða framkvæmdar er 6% á eftir innfæddum kóða, kóðastærð er 144 sinnum minni, MIR útfærslan JIT er 16 þúsund línur af kóða.
Heimild: opennet.ru