Ukukhutshwa kokuqala kwe-wasm3, itoliki yeWebAssembly ekhawulezayo

Iyafumaneka uhlelo lokuqala wam3, iWebAssembly ekhawulezayo kakhulu yokutolika ikhowudi ephakathi, ejoliswe ngokuyintloko ukuba isetyenziswe ukuqhuba izicelo zeWebAssembly kwi-microcontrollers kunye namaqonga angenayo i-WebAssembly JIT ukuphunyezwa, ayinayo imemori eyaneleyo yokusebenza kweJIT, okanye ayikwazi ukudala amaphepha ememori aphunyeziweyo afunekayo ukuphunyezwa kweJIT. . Ikhowudi yeprojekthi ibhalwe ngolwimi C kunye isasazwa ngu phantsi kwelayisenisi ye-MIT.

Wasm3 ipasile iimvavanyo ukuhambelana nokucaciswa kweWebAssembly 1.0 kwaye ingasetyenziselwa ukuqhuba izicelo ezininzi ze-WASI, ukubonelela ukusebenza kuphela ngamaxesha angama-4-5 ngaphantsi kweenjini zeJIT (Susa ngaphezulu, ukuphakamisa i-crane) kunye namaxesha angama-11.5 asezantsi kunokuphunyezwa kwekhowudi yemveli. Xa kuthelekiswa nezinye iitoliki zeWebAssembly (wac, ubomi, wasm-micro-ixesha lokusebenza), i<em>wasm3 yayikhawuleza kangangezihlandlo ezili-15.8.

I-Wasm3 ifuna i-64Kb yememori yekhowudi kunye ne-10Kb ye-RAM, ekuvumela ukuba usebenzise iprojekthi ukuqhuba izicelo ezihlanganiswe kwi-WebAssembly kwi. iimicrocontroller, njengeArduino MKR*, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Pill Blue (STM32F103C8T6), MXChip AZ3166 (EMW3166),
I-Maix (K210), i-HiFive1 (E310), iFomu (ICE40UP5K) kunye ne-ATmega1284, kunye neebhodi kunye neekhompyutheni ezisekelwe kwi-x86, x64, i-ARM, i-MIPS, i-RISC-V kunye ne-Xtensa architectures. Iinkqubo ezisebenzayo ezixhaswayo yi-Linux (kubandakanywa ne-OpenWRT-based routers), Windows, macOS, Android, kunye ne-iOS. Kuyenzeka kwakhona ukuqulunqa i-wam3 kwikhowudi ye-WebAssembly ephakathi ukwenza itoliki kwisikhangeli okanye kuphehlelelo olufakwe kwindlwane (ukusingathwa ngokwakho).

Ukusebenza okuphezulu kufezekiswa ngokusebenzisa iteknoloji kwitoliki UMassey Meta Machine (M3), eguqulela kwangaphambili i-bytecode ibe yimisebenzi esebenza ngakumbi yokwenziwa komatshini we-pseudo ukunciphisa umphezulu we-bytecode decoding, kunye nokuguqula imodeli yokwenziwa komatshini we-stack ibe yindlela yokubhalisa esebenzayo ngakumbi. Imisebenzi kwi-M3 yimisebenzi ye-C iingxoxo zayo ziziirejista zoomatshini ezinokuboniswa kwiirejista ze-CPU. Ulandelelwano oluxhaphakileyo lwemisebenzi yokuphucula luguqulwa lube lushwankathelo lwemisebenzi.

Ukongezelela, kunokuqatshelwa iziphumo zophando ukusasazwa
I-WebAssembly kwiWebhu. Emva kokuhlalutya i-948 yeendawo ezithandwa kakhulu ngokulinganisa kwe-Alexa, abaphandi bafumanisa ukuba iWebAssembly isetyenziswe kwiindawo ze-1639 (0.17%), oko kukuthi. kwindawo enye kwezingama-1. Ngokubanzi, iimodyuli ze-WebAssembly ze-600 zifunyenwe kwiindawo, apho i-1950 iyingqayizivele. Xa kuqwalaselwa ububanzi beWebAssembly, izigqibo eziphoxayo zenziwa - ngaphezu kwe-150% yamatyala, iWebAssembly yayisetyenziselwa iinjongo ezinobungozi, umzekelo, kwimigodi ye-cryptocurrency (50%) kunye nokufihla ikhowudi yemibhalo ekhohlakeleyo (55.7%). Ukusetyenziswa ngokusemthethweni kweWebAssembly kubandakanya ukwenza amathala eencwadi (0.2%), ukudala imidlalo (38.8%), kunye nokusebenzisa ikhowudi yendabuko engeyiyo yeJavaScript (3.5%). Kwi-0.9% yamatyala, i-WebAssembly yayisetyenziselwa ukuhlalutya okusingqongileyo ukuchongwa komsebenzisi (ukushicilela iminwe).

Ukukhutshwa kokuqala kwe-wasm3, itoliki yeWebAssembly ekhawulezayo

umthombo: opennet.ru

Yongeza izimvo