wasm3, tlmočník WebAssembly vydáva svoju prvú verziu

W3

V poslednej dobe, bola vydaná prvá verzia wasm3, ktorý je interpret veľmi rýchly prostredný kód WebAssemblyPretože je určený predovšetkým na spúšťanie aplikácií WebAssembly na mikrokontroléroch a na platformách, pre ktoré neexistuje implementácia JIT pre WebAssembly, nie je dostatok pamäte na to, aby JIT fungoval, alebo vytvorenie stránok spustiteľnej pamäte potrebných pre implementáciu JIT.

Pre tých, ktorí WebAssembly nepoznajú, mali by ste vedieť, že je to tak jazyk nízkej úrovne, pôvodne navrhnutý ako cieľový formát pri kompilácii z jazykov C a C ++, aj keď podporuje aj zdrojový kód pre ďalšie jazyky, napríklad Rust and Go. Tento prenosný formát binárneho kódu sa používa na úplné vykonávanie skriptov z prehľadávača na strane klienta.

Asi wasm3

Wasm3 vyhovuje testom kompatibility so špecifikáciou WebAssembly 1.0 a možno použiť na spustenie mnohých aplikácií WASI, poskytuje iba 4-5 krát nižší výkon ako motory JIT a 11.5 krát menej ako vykonávanie natívneho kódu.

V porovnaní s ostatnými účinkujúcimi z WebAssembly (wac, life, wasm-micro-runtime), wasm3 bol 15.8 krát rýchlejší.

Wasm3 začal ako výskumný projekt a stále je ním veľa spôsobov. Súčasťou vyšetrovania je vyhodnotenie motora v rôznych prostrediach. Pretože máme Lua, JS, Python, Lisp, (...) spustené na MCU, WebAssembly je vlastne sľubná alternatíva. Poskytuje úplne izolované, dobre definované a predvídateľné prostredie. Medzi praktické prípady použitia môžeme zaradiť špičkové výpočty, skriptovanie, vykonávanie pravidiel IoT, zmluvy blockchain atď.

wasm3 vyžaduje 64 kB pamäte pre kód a 10 kB pamäte RAM, čo ty umožňuje využívať projekt spustiť skompilované aplikácie vo WebAssembly v mikrokontroléroch ako Arduino MKR *, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166), Maix (K210), HiFive1 (E310), I40ga5 (I1284gaXNUMX) , ako aj na doskách a počítačoch založených na architektúrach x86, x64, ARM, MIPS, RISC-V a Xtens.

Vysoký výkon sa dosahuje použitím techniky Massey Meta Machine (M3) v tlmočníkovi, v ktorom, aby sa znížila réžia dekódovania bajtkódu, bytový kód je proaktívne preložený v efektívnejších operáciách, ktoré generujú kód pseudo-stroja a model vykonávania skladaného virtuálneho stroja sa stáva efektívnejším registrom, sú operáciami v M3 funkcie C, ktorých argumenty sú registre virtuálneho stroja, čo sa dá odraziť v registroch CPU.

Časté pracovné toky pre optimalizáciu sa zmenia na súhrnné operácie.

Okrem toho, Výsledky štúdie možno pozorovať na WebAssembly on the Web. Po analýze 948 tisíc najobľúbenejších webov hodnotených spoločnosťou Alexa vedci zistili, že WebAssembly využíva 1639 0.17 webov (1%), čo je 600 zo XNUMX webov.

Celkovo webové stránky odhalili zaťaženie 1950 modulov WebAssembly, z ktorých je 150 jedinečných.

Pri posudzovaní rozsahu WebAssembly boli urobené sklamavé závery: vo viac ako 50% prípadov sa WebAssembly používal na škodlivé účely, napríklad na ťažbu kryptomien (55,7%) a skrytie kódu pred škodlivými skriptmi (0,2 , XNUMX%).

Podporovaných operačných systémov pre Wasm3, nájdeme Linux vrátane smerovačov založených na OpenWRT, Windows, macOS, Android a iOS. Bolo tiež možné kompilovať wasm3 do sprostredkujúceho kódu WebAssembly, aby sa tlmočník spustil v prehliadači alebo pre samoobslužný hosting.

Z legitímnych použití WebAssembly bolo pozorované vykonávanie knižnice (38.8%), tvorba hier (3.5%) a vykonávanie natívneho kódu bez JavaScriptu (0.9%). V 14,9% prípadov sa program WebAssembly použil na analýzu prostredia na identifikáciu používateľa (odtlačky prstov).

Vyskúšajte wasm3

Pre tých, ktorí majú záujem o použitie tohto tlmočníka vo svojom systéme, môže nahliadnuť do dokumentácie aj do kódu projektu ktorý je napísaný v jazyku C a distribuovaný na základe licencie MIT, Na nasledujúcom odkaze.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.