Eerste vrystelling van wasm3, 'n vinnige WebAssembly-tolk

Beskikbaar eerste uitgawe wasm3, 'n baie vinnige WebAssembly-intermediêre kode-tolk, hoofsaaklik bedoel om gebruik te word om WebAssembly-toepassings op mikrobeheerders en platforms uit te voer wat nie 'n WebAssembly JIT-implementering het nie, nie genoeg geheue het vir JIT-werking nie, of nie uitvoerbare geheuebladsye kan skep wat benodig word vir JIT-implementering nie. . Die projekkode is in C-taal geskryf en versprei deur onder die MIT-lisensie.

Wasm3 slaag toetse om versoenbaar te wees met die WebAssembly 1.0-spesifikasie en kan gebruik word om baie WASI-toepassings te laat loop, wat prestasie slegs 4-5 keer laer lewer as JIT-enjins (op styg, hyskraan hysbak) en 11.5 keer laer as inheemse kode-uitvoering. In vergelyking met ander WebAssemble-tolke (wac, lewe, wasm-mikro-looptyd), wasm3 was 15.8 keer vinniger.

Wasm3 benodig 64Kb geheue vir kode en 10Kb RAM, wat jou toelaat om die projek te gebruik om toepassings te laat loop wat in WebAssembly saamgestel is op mikrobeheerders, soos Arduino MKR*, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166),
Maix (K210), HiFive1 (E310), Fomu (ICE40UP5K) en ATmega1284, sowel as borde en rekenaars gebaseer op x86, x64, ARM, MIPS, RISC-V en Xtensa argitekture. Bedryfstelsels wat ondersteun word, is Linux (insluitend OpenWRT-gebaseerde routers), Windows, macOS, Android en iOS. Dit is ook moontlik om wasm3 in 'n intermediêre WebAssembly-kode saam te stel om die tolk in die blaaier uit te voer of vir geneste bekendstelling (self-hosting).

Hoë werkverrigting word behaal deur die gebruik van tegnologie in die tolk Massey Meta Machine (M3), wat greepkode voorkomend vertaal in meer doeltreffende pseudo-masjien-kodegenererende bedrywighede om die bokoste van greepkode-dekodering te verminder, en die uitvoering van die stapel virtuele masjien-uitvoeringsmodel in 'n meer doeltreffende registerbenadering omskep. Bewerkings in M3 is C-funksies waarvan die argumente virtuele masjienregisters is wat na SVE-registers gekarteer kan word. Opeenvolgende bewerkings wat gereeld voorkom vir optimalisering word omgeskakel na opsommingsbewerkings.

Daarbenewens kan dit opgemerk word navorsingsresultate verspreiding
WebAssembly in Web. Nadat die 948 duisend gewildste werwe volgens Alexa-gradering ontleed is, het die navorsers uitgevind dat WebAssembly op 1639 werwe (0.17%) gebruik word, d.w.s. op 1 uit elke 600 werwe. In totaal is 1950 WebAssembly-modules op die webwerwe opgespoor, waarvan 150 uniek is. By die oorweging van die omvang van WebAssembly is teleurstellende gevolgtrekkings gemaak - in meer as 50% van die gevalle is WebAssembly vir kwaadwillige doeleindes gebruik, byvoorbeeld vir kriptokurrency-ontginning (55.7%) en om die kode van kwaadwillige skrifte te verberg (0.2%). Wettige gebruike van WebAssembly sluit in die uitvoer van biblioteke (38.8%), die skep van speletjies (3.5%) en die uitvoering van inheemse nie-JavaScript-kode (0.9%). In 14.9% van gevalle is WebAssembly gebruik om die omgewing vir gebruikersidentifikasie (vingerafdrukke) te ontleed.

Eerste vrystelling van wasm3, 'n vinnige WebAssembly-tolk

Bron: opennet.ru

Voeg 'n opmerking