I-Mozilla, Fastly, Intel ne-Red Hat
Ukuze udale izinhlelo eziphathwayo ezilethwa ngefomethi ye-WebAssembly engenziwa ngaphandle kwesiphequluli, siphakamisa ukusebenzisa i-API.
Omunye we
Ukuze kuvikelwe, kuhlongozwa ukuthi kusetshenziswe umqondo we-nanoprocesses, lapho imojula ngayinye yokuncika ihlukaniswa ibe module ye-WebAssembly ehlukanisiwe, amandla ayo asethwe maqondana nale mojula kuphela (isibonelo, umtapo wolwazi wokucubungula izintambo ngeke ukwazi ukuvula isokhethi yenethiwekhi noma ifayela). Ngokungafani nokuhlukaniswa kwenqubo, izibambi ze-WebAssembly azisindi futhi azidingi izinsiza ezengeziwe - ukusebenzisana phakathi kwabaphathi akuhamba kancane kunokubiza imisebenzi evamile. Ukuhlukaniswa kungenziwa hhayi kuphela ezingeni lamamojula ngamanye, kodwa futhi ezingeni lamaqembu amamojula, isibonelo, adinga ukusebenza nezindawo zememori ezivamile.
Amandla aceliwe anganqunywa kokubili ezingeni lokuncika ngokwawo, futhi adluliselwe kumamojula angumzali kumamojula angumzali kwabancikile ochungechungeni (izinsiza ku-WASI zihlotshaniswa nohlobo olukhethekile lwesichazi sefayela - amandla). Isibonelo, imojuli inganikezwa ikhono lokufinyelela uhla lwemibhalo oluthile namakholi esistimu, futhi uma ingqalasizinda yokuthuthukisa imojuli isengozini noma kutholwa ubungozi, ngesikhathi sokuhlasela, ukufinyelela kuzokhawulelwa kulezi zinsiza kuphela. Ukumenyezelwa kwensiza ngabadali bemojuli kungaba inkomba yomsebenzi osolisayo, njengalapho imojuli yokucubungula umbhalo icela imvume yokuvula uxhumano lwenethiwekhi. Izimvume ezisethiwe ekuqaleni ziyahlolwa futhi uma zishintsha, ukulayisha okuncikile kuyanqatshwa kuze kube yilapho isiginesha yemojuli yendawo ibuyekezwa.
Ukuze kuthuthukiswe ngokubambisana ngaphansi kwephiko le-Bytecode Alliance
-
Isikhathi sesikhathi β isikhathi sokusebenza sokuqalisa izinhlelo zokusebenza zeWebAssembly ezinezandiso ze-WASI njengezinhlelo ezivamile ezizimele zodwa. Isekela kokubili ukwethulwa kwe-WebAssembly bytecode kusetshenziswa insiza ekhethekile yomugqa womyalo nokuxhumanisa amafayela asebenzisekayo enziwe ngomumo (i-wasmtime yakhelwe kuhlelo lokusebenza njengomtapo wezincwadi). I-Wasmtime inesakhiwo se-modular esivumelana nezimo esikuvumela ukuthi ulinganise isikhathi sokusebenza sezinhlelo zokusebenza ezihlukahlukene, isibonelo, ungakha inguqulo ehlutshiwe yamadivayisi anezinsiza ezilinganiselwe; -
Lucet β umdidiyeli nesikhathi sokusebenza sokwenza izinhlelo ngefomethi yeWebAssembly. Ehlukileisici I-Lucet iwukusetshenziswa kokuhlanganiswa okuphelele kokulindela (i-AOT, kusenesikhathi) esikhundleni se-JIT ibe ikhodi yomshini elungele ukwenziwa ngokuqondile. Iphrojekthi yathuthukiswa i-Fastly futhi ilungiselelwe ukusebenzisa izinsiza ezincane futhi yethule izimo ezintsha ngokushesha okukhulu (Ngokushesha isebenzisa i-Lucet enjini yekhompiyutha yamafu esebenzisa i-WebAssembly yezibambi ezethulwe esicelweni ngasinye). Njengengxenye yephrojekthi ehlanganyelwe, i-Lucet compiler ihlelelwe ukuthi iguqulwe ukuze isebenzise i-Wasmtime njengesisekelo; -
I-WAMR (I-WebAssembly Micro Runtime) ingesinye isikhathi sokusebenza sokusebenzisa i-WebAssembly, eyaqalwa i-Intel ukuze isetshenziswe kumadivayisi e-inthanethi Yezinto. I-WAMR yenzelwe ukusetshenziswa okuncane kwezinsiza futhi ingasetshenziswa kumadivayisi anenani elincane le-RAM. Le phrojekthi ihlanganisa utolika nomshini obonakalayo wokusebenzisa i-WebAssembly bytecode, i-API (i-subset ye-Libc) namathuluzi okuphatha izinhlelo zokusebenza ezinamandla; -
I-Cranelift - ijeneretha yekhodi ehumusha isethulo esimaphakathi esizimele ngaphandle kwezakhiwo zehadiwe ibe ikhodi yomshini esebenzisekayo elungiselelwe izinkundla ezithile zehadiwe. I-Cranelift isekela ukufana kokuhlanganiswa komsebenzi wokukhiqiza imiphumela esheshayo, evumela ukuthi isetshenziselwe ukwakha abahlanganisi be-JIT (i-JIT esekelwe ku-Cranelift isetshenziswa emshinini we-Wasmtime virtual); -
I-WASI evamile - ukuqaliswa okuhlukile kwe-WASI (WebAssembly System Interface) API yokuhlela ukusebenzisana nesistimu yokusebenza; -
cargo-wasi β imojula yomphathi wephakheji ye-Cargo esebenzisa umyalo wokuhlanganisa ikhodi ye-Rust ibe yi-WebAssembly bytecode isebenzisa isixhumi esibonakalayo se-WASI ngokusebenzisa i-WebAssembly ngaphandle kwesiphequluli; -
Wat ΠΈwasmparser β abahlaluli bombhalo wokuhlaziya (WAT, WAST) nokuvezwa okumbambambili kwe-WebAssembly bytecode.
Ukuphindaphinda, i-WebAssembly ifana kakhulu ne-Asm.js, kodwa
Source: opennet.ru