wasm3, en WebAssembly-tolk släpper sin första version

W3

nyligen den första versionen av wasm3 släpptes, vilket är en tolk mycket snabb mellankod av WebAssembly, eftersom det i första hand är utformat för att köra WebAssembly-applikationer på mikrokontroller och plattformar för vilka det inte finns någon JIT-implementering för WebAssembly, otillräckligt minne för att JIT ska fungera, eller skapande av körbara minnessidor som krävs för JIT-implementering.

För dem som inte är medvetna om WebAssembly bör du veta att detta är språk på låg nivå ursprungligen utformat som ett byggmålformat från C och C++, även om det också stöder källkod från andra språk, som Rust och Go. Detta portabla binära kodformat används för fullständig skriptkörning från klientsidans webbläsare.

om wasm3

Wasm3 klarar kompatibilitetstester med WebAssembly 1.0-specifikationen och kan användas för att köra många WASI-applikationer, ger prestanda endast 4-5 gånger mindre än JIT-motorer och 11.5 gånger mindre än inbyggd kodexekvering.

Jämfört med andra artister från WebAssembly(wac, life, wasm-micro-runtime), wasm3 var 15.8 gånger snabbare.

Wasm3 startade som ett forskningsprojekt och fortsätter att vara det på många sätt. Utvärderingen av motorn i olika miljöer ingår i utredningen. Med tanke på att vi har Lua, JS, Python, Lisp, (...) som körs på MCU, är WebAssembly faktiskt ett lovande alternativ. Det ger en helt isolerad, väldefinierad och förutsägbar miljö. Praktiska användningsfall inkluderar edge computing, scripting, IoT-regelexekvering, blockchain-kontrakt, etc.

wasm3 kräver 64Kb minne för koden och 10Kb RAM, vad du tillåter att använda projektet för att köra applikationer kompilerade i WebAssembly i mikrokontroller som Arduino MKR*, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166), Maix (K210), (E1), (E310) och FomuKive), ATmega40 5, samt kort och datorer baserade på arkitekturer x86, x64, ARM, MIPS, RISC-V och Xtens.

Hög prestanda uppnås genom att använda Massey Meta Machine-teknik (M3) i tolken, i vilken, för att minska omkostnaderna för avkodning av bytekoden, bytekoden är proaktivt översatt i mer effektiva operationer som genererar pseudomaskinkod och den staplade virtuella maskinens exekveringsmodell blir en mer effektiv registerstrategi är operationerna i M3 C-funktioner, vars argument är den virtuella maskinens register, som kan speglas i CPU-registren.

Frekventa arbetsflöden för optimering blir sammanfattande operationer.

Dessutom, Studieresultat kan ses på WebAssembly på webben, efter att ha analyserat 948 XNUMX av de mest populära Alexa-rankade webbplatserna, fann forskare att WebAssembly används av 1639 0.17 webbplatser (1 %), eller 600 av XNUMX webbplatser.

Totalt avslöjade webbplatserna uppladdningen av 1950 150 WebAssembly-moduler, varav XNUMX är unika.

När man övervägde omfattningen av WebAssembly drogs nedslående slutsatser: i mer än 50 % av fallen användes WebAssembly för skadliga syften, till exempel för att bryta kryptovalutor (55,7 %) och för att dölja skadlig skriptkod (0,2 %).

Av de operativsystem som stöds för Wasm3, vi kan hitta linux inklusive OpenWRT-baserade routrar, Windows, macOS, Android och iOS. Det var också möjligt att kompilera wasm3 till mellanliggande WebAssembly-kod för att köra tolken i en webbläsare eller för självvärd.

Av den legitima användningen av WebAssembly såg vi att vi körde biblioteket (38.8 %), skapade spel (3.5 %) och körde inbyggd kod skriven som inte är i JavaScript (0.9 %). I 14,9 % av fallen användes WebAssembly för att skanna miljön för användaridentifiering (fingeravtryck).

prova wasm3

För den som är intresserad av att kunna använda denna tolk i sitt system, kan konsultera dokumentationen samt koden för projektet som är skriven i C och distribueras under MIT-licensen, I följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.