första utgÄvan , en mycket snabb interpreter för WebAssembly mellanliggande kod, frÀmst avsedd för att köra WebAssembly-applikationer pÄ mikrokontroller och plattformar dÀr JIT-implementationen för WebAssembly saknas, minnet Àr otillrÀckligt för att JIT ska fungera eller skapandet av utförbara minnessidor, nödvÀndiga för JIT-implementationen, inte tillÄts. Projektkoden Àr skriven i C och licensieras under MIT.
Wasm3 genomgÄr för överensstÀmmelse med specifikationen WebAssembly 1.0 och kan anvÀndas för att köra mÄnga WASI-applikationer, vilket sÀkerstÀller prestanda som Àr endast 4-5 gÄnger lÀgre Àn JIT-motorer (, ) och 11,5 gÄnger lÀgre Àn körning av inhemsk kod. Vid jÀmförelse med andra WebAssembly-tolkar (, , ), visade sig wasm3 vara 15,8 gÄnger snabbare.
För att köra wasm3 krÀvs 64KB minne för kod och 10KB RAM, vilket gör projektet tillÀmpligt för körning av WebAssembly-kompilerade applikationer pÄ , sÄsom Arduino MKR*, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166),
Maix (K210), HiFive1 (E310), Fomu (ICE40UP5K) och ATmega1284, samt pÄ kort och datorer baserade pÄ x86, x64, ARM, MIPS, RISC-V och Xtensa-arkitekturer. Stödda operativsystem inkluderar Linux (Àven routrar baserade pÄ OpenWRT), Windows, macOS, Android och iOS. Kompilering av wasm3 till WebAssembly mellanliggande kod för att köra tolken i webblÀsaren eller för sjÀlvinbÀddning (self-hosting) Àr ocksÄ möjligt.
Hög prestanda uppnÄs genom att anvÀnda tekniken (M3), dÀr för att minska overheaden vid dekodning av bytekod, utförs förhandsöversÀttning av bytekod till mer effektiva operationer som genererar pseudomaskinkod, och den stackbaserade virtuella maskinens exekveringsmodell omvandlas till en mer effektiv registerbaserad metod. Operationerna i M3 Àr C-funktioner vars argument Àr virtuella maskinregister, som kan motsvara CPU-register. Vanligt förekommande operationföljder för optimering omvandlas till sammanslagna operationer.
Dessutom kan det nÀmnas spridning
WebAssembly pĂ„ webben. Genom att analysera 948 000 av de mest populĂ€ra webbplatserna enligt Alexa-rankningen, har forskare kommit fram till att WebAssembly anvĂ€nds pĂ„ 1639 webbplatser (0,17%), det vill sĂ€ga pĂ„ 1 av varje 600 webbplatser. Totalt upptĂ€cktes 1950 WebAssembly-moduler pĂ„ webbplatser, varav 150 Ă€r unika. NĂ€r man undersökte anvĂ€ndningsomrĂ„dena för WebAssembly drogs dyster slutsatser â i mer Ă€n 50% av fallen anvĂ€ndes WebAssembly för skadliga Ă€ndamĂ„l, till exempel för kryptovaluta-gruvdrift (55,7%) och för att dölja koden av skadliga skript (0,2%). Bland de legitima anvĂ€ndningarna av WebAssembly noterades utförande av biblioteker (38,8%), spelutveckling (3,5%) och körning av egen kod som inte Ă€r skriven i JavaScript (0,9%). I 14,9% av fallen anvĂ€ndes WebAssembly för att analysera miljön för att identifiera anvĂ€ndare (fingerprinting).

KĂ€lla: opennet.ru
