Koofiyada Cas waxa ay horumarisaa isku xidhka MIR JIT

Xagga Koofiyada Cas horumarka socda Isku-duwaha cusub ee JIT MIR, kaas oo hubinaya fulinta koodka kaas oo hore loogu beddelay matalaad dhexdhexaad ah MIR (Matalaad Dhexdhexaad ah, oo aan lagu khaldin wakiil kale oo dhexdhexaad ah MIR (heerka dhexe ee IR), oo lagu isticmaalo isku-darka miridhku). Mashruucu waxa uu higsanayaa in uu bixiyo qaab lagu hirgelinayo turjubaano degdeg ah oo kooban iyo JIT. Xeerka mashruuca wuxuu ku qoran yahay C iyo qaybiyey hoos shatiga MIT.

Marxaladda horumarka ee hadda, tarjumaannada matalaadda dhexe ee MIR ayaa loo diyaariyey C luqadda iyo bitcode LLVM (Bitcode), laakiin mustaqbalka waxaa la qorsheeyay in la hirgeliyo awoodda lagu abuurayo MIR ee WebAssembly, Java bytecode, CIL (Luqadda Dhexdhexaadinta Guud), miridhku iyo C++. Mashruucan waxaa soo saaraya mid ka mid ah soosaarayaasha matoorka JIT MJIT, oo loo isticmaalo Ruby. Ugu horreyntii, JIT oo ku salaysan MIR ayaa loo qorsheeyay in la fuliyo Cruby ΠΈ MRuby. Mustaqbalka, waxa kale oo suurtogal ah in GCC loo isticmaalo MIR.

Koofiyada Cas waxa ay horumarisaa isku xidhka MIR JIT

Koodhka MIR ee dhexdhexaadka ah waxa lagu soo bandhigi karaa laba-iyo-qoraal (la akhriyi karo). Koodhkan waxa lagu fulin karaa turjubaanka iyo koodka mishiinka ayaa la soo saari karaa iyada oo ku saleysan (x86_64, gudaha ARM64, PPC64 iyo qorshayaasha MIPS64). Waxa kale oo suurtagal ah in la sameeyo beddelka gadaasha - laga bilaabo MIR ilaa CIL, Java bytecode, WebAssembly iyo C code.

Waxaa ka mid ah sifooyinka MIR, qorista adag, taageerada modules-yada iyo hawlaha, bixinta hab-raacyo loogu talagalay beddelidda nooca, isbarbardhigga, xisaabinta iyo hawlgallada macquulka ah, laanta, iwm. Modules, oo ay ku jiraan hawlo loo beddelay qaabka MIR, waxaa lagu shubi karaa qaab maktabado, waxayna sidoo kale ku shuban karaan koodhka C dibadda ah.

Koofiyada Cas waxa ay horumarisaa isku xidhka MIR JITKoofiyada Cas waxa ay horumarisaa isku xidhka MIR JIT

Faa'iidada muhiimka ah ee fulinta koodhka dhexdhexaadka ah ee JIT halkii laga soo ururin lahaa faylalka la fulin karo ee asalka ah waa awooda lagu soo saaro faylal isku dhafan kuwaas oo la fulin karo iyada oo aan dib loo dhisin qalabyada kala duwan ee qalabka (x86, ARM, PPC, MIPS). Qaab dhismeedka aan la taageerin, qaab tarjumaad ayaa diyaar ah, kaas oo marka laga hadlayo MIR uu 6-10 jeer ka hooseeyo JIT.

Khasaaraha ka dhashay isku-duwayaasha JIT ee jira
GCC iyo LLVM ayaa la sheegay inay si xad dhaaf ah u bararsan yihiin, xawaarahooda isku dubaridkana ay yar yihiin, wayna adag tahay in la hirgeliyo hagaajinta isku dhafan ee luuqadaha barnaamijyada kala duwan. Horumarinta MIR waxay isku dayeen inay xalliyaan kuwan
dhibaatooyin iyo yoolal dejiso:

  • Isku-dubbaridka MIR waa inuu ahaadaa ugu yaraan 100 jeer ka dhakhso badan GCC;
  • JIT ee fulinta MIR waa in uu ahaadaa mid is haysta oo ay ku jiraan ku dhawaad ​​15 kun oo xariiq oo kood ah;
  • Ku-fulinta MIR iyadoo la adeegsanayo JIT waa inaysan ka yarayn 30% ka gaabin waxqabadka fulinta laga soo ururiyay isla code C ee GCC (oo leh "-O2" hagaajinta);
  • Marxaladaha bilawga ah ka hor inta aan la bilaabin fulinta dhabta ah waa inay qaataan 100 jeer ka yar;
  • Matalaadda MIR ee JIT waa in ay 100 jeer ka yar tahay tan la fulin karo ee lagu soo ururiyey GCC.

Qaabka hadda jira, hirgelinta MIR siyaabo badan ayuu uga horreeyaa yoolalka bilowga ah: tijaabooyinku waxay muujiyeen in waxqabadka isku dubaridka ee MIR uu 2 jeer ka dhakhso badan yahay "GCC-O178", waxqabadka fulinta waa 6% ka dambeeya koodka asalka ah, cabbirka koodhka waa 144 jeer ka yar, fulinta MIR ee JIT waa 16 kun oo xariiq oo kood ah.

Koofiyada Cas waxa ay horumarisaa isku xidhka MIR JIT

Source: opennet.ru

Add a comment