wasm3, tolmač WebAssembly izda svojo prvo različico

W3

Pred kratkim izšla je prva različica wasm3, kateri je tolmač zelo hitro vmesne kode s strani WebAssemblyKer je zasnovan predvsem za izvajanje aplikacij WebAssembly na mikrokrmilnikih in platformah, za katere ni izvedbe JIT za WebAssembly, ni dovolj pomnilnika, da bi JIT deloval, ali ustvarjanju izvedljivih pomnilniških strani, potrebnih za implementacijo JIT.

Za tiste, ki ne poznajo WebAssembly, morate vedeti, da je to jezik na nizki ravni, prvotno zasnovan kot ciljna oblika pri prevajanju iz C in C ++, čeprav podpira tudi izvorno kodo za druge jezike, kot sta Rust in Go. Ta prenosna oblika binarne kode se uporablja za popolno izvajanje skriptov iz brskalnika na strani odjemalca.

O wasm3

Wasm3 prestane teste združljivosti s specifikacijo WebAssembly 1.0 in se lahko uporablja za zagon številnih aplikacij WASI, zagotavlja le 4-5 krat manj zmogljivosti kot JIT motorji in 11.5 krat manj kot izvajanje izvorne kode.

V primerjavi z drugimi nastopajočimi iz WebAssembly (wac, življenjska doba, wasm-micro-runtime), wasm3 je bil 15.8-krat hitrejši.

Wasm3 se je začel kot raziskovalni projekt in je še vedno takšen na več načinov. Vrednotenje motorja v različnih okoljih je del preiskave. Ker imamo Lua, JS, Python, Lisp, (…), ki delujejo na MCU, je WebAssembly pravzaprav obetavna alternativa. Zagotavlja popolnoma izolirano, natančno določeno in predvidljivo okolje. Med praktične primere uporabe lahko naštejemo vrhunsko računalništvo, skriptiranje, izvrševanje pravil interneta stvari, blokchain pogodbe itd.

wasm3 zahteva 64 KB pomnilnika za kodo in 10 KB RAM-a, kaj ti omogoča uporabo projekta za zagon prevedenih aplikacij v WebAssembly v mikrokrmilnikih kot Arduino MKR *, Arduino Due, Photonc z delci, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166), Maix (K210), HiFive1 (E310), ATCEgaga40 pa tudi na ploščah in računalnikih, ki temeljijo na arhitekturah x86, x64, ARM, MIPS, RISC-V in Xtens.

Visoke zmogljivosti dosežemo s pomočjo tehnike Massey Meta Machine (M3) v tolmaču, v katerem za zmanjšanje režijskih stroškov dekodiranja bajtkode, bytecode je proaktivno prevedeno pri učinkovitejših operacijah, ki ustvarjajo psevdo-strojno kodo in izvedbeni model zloženega navideznega stroja postane učinkovitejši pristop k registru, so operacije v M3 funkcije C, katerih argumenti so registri navideznega stroja, kar se lahko odraža v CPU registri.

Pogosti poteki dela za optimizacijo se spremenijo v operacije povzetka.

Poleg tega, Rezultate študije je mogoče opazovati na WebAssembly on the Web, po analizi 948 tisoč najbolj priljubljenih spletnih mest, ki jih je ocenila Alexa, pa so raziskovalci ugotovili, da WebAssembly uporablja 1639 spletnih mest (0.17%), to je 1 od 600 spletnih mest.

Skupaj so spletna mesta razkrila 1950 modulov WebAssembly, od tega 150 unikatnih.

Pri obravnavi področja uporabe WebAssembly so bili narejeni nezadovoljivi zaključki: v več kot 50% primerov je bil WebAssembly uporabljen v zlonamerne namene, na primer za rudarstvo kriptovalut (55,7%) in za skrivanje kode pred zlonamernimi skripti (0,2, XNUMX%) .

Od podprtih operacijskih sistemov za Wasm3, lahko najdemo Linux vključno z usmerjevalniki na osnovi OpenWRT, Windows, macOS, Android in iOS. Prav tako je bilo mogoče zbrati wasm3 v vmesno kodo WebAssembly za zagon tolmača v brskalniku ali za samogostovanje.

Od zakonite uporabe WebAssembly so opazili izvajanje knjižnice (38.8%), ustvarjanje iger (3.5%) in izvajanje izvorne kode, ki ni JavaScript (0.9%). V 14,9% primerov je bil WebAssembly uporabljen za analizo okolja za identifikacijo uporabnikov (prstni odtisi).

Poskusite wasm3

Za tiste, ki jih zanima uporaba tega tolmača v svojem sistemu, lahko pregleda dokumentacijo in projektno kodo ki je napisan v jeziku C in se distribuira pod licenco MIT, V naslednji povezavi.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.