prvý vydanie , veľmi rýchly interpretátor medzičlánkového kódu WebAssembly, hlavne navrhnutý na implementáciu pre spúšťanie WebAssembly aplikácií na mikrokontroléroch a platformách, kde nie je implementácia JIT pre WebAssembly, nie je dostatok pamäte na prácu JIT alebo nie je povolené vytváranie vykonávacích stránok pamäte potrebných na implementáciu JIT. Kód projektu je napísaný v jazyku C a pod licenciou MIT.
Wasm3 prechádza kompatibilitou so špecifikáciou WebAssembly 1.0 a môže sa použiť na spustenie mnohých WASI aplikácií, poskytujúc výkon len 4-5 krát nižší ako JIT enginy (, ) a 11,5 krát nižší ako vykonávanie natívneho kódu. Pri porovnaní s inými interpretátormi WebAssembly (, , ), wasm3 bol rýchlejší 15,8 krát.
Na prevádzku wasm3 je potrebných 64KB pamäte na kód a 10KB RAM, čo umožňuje aplikáciu projektu na vykonávanie skompilovaných WebAssembly aplikácií na , ako Arduino MKR*, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166),
Maix (K210), HiFive1 (E310), Fomu (ICE40UP5K) a ATmega1284, ako aj na doskách a počítačoch založených na architektúrach x86, x64, ARM, MIPS, RISC-V a Xtensa. Z operačných systémov sú podporované Linux (vrátane routerov založených na OpenWRT), Windows, macOS, Android a iOS. Možná je aj kompilácia wasm3 do medzičlánkového kódu WebAssembly na spustenie interpretátora v prehliadači alebo na vložené spustenie (self-hosting).
Vysoký výkon sa dosahuje vďaka použitiu techniky (M3), v ktorej sa na zníženie režijných nákladov na dekódovanie bajtkódu vykonáva predbežná translácia bajtkódu na efektívnejšie operácie, generujúce pseudo-strojový kód, a model vykonávania zásobníkovej virtuálnej mašiny sa transformuje na efektívnejší registračný prístup. Operácie v M3 predstavujú C funkcie, ktorých argumentmi sú registry virtuálnej mašiny, ktoré môžu byť mapované na registry CPU. Často sa vyskytujúce sekvencie operácií na optimalizáciu sa transformujú na súhrnné operácie.
Navyše môžeme spomenúť distribúcie
WebAssembly na webe. Analýza 948 tisíc najpopulárnejších webových stránok podľa rebríčka Alexa odhalila, že WebAssembly sa používa na 1639 stránkach (0,17 %), t.j. na 1 z každých 600 stránok. Celkový počet načítaných modulov WebAssembly na stránkach dosiahol 1950, pričom 150 z nich je unikátnych. Pri posudzovaní oblasti použitia WebAssembly boli učinené nelichotivé zistenia — vo viac ako 50 % prípadov bol WebAssembly použitý na zlé účely, napríklad na ťažbu kryptomien (55,7 %) a skrytie kódu škodlivých skriptov (0,2 %). Z legitímnych aplikácií WebAssembly vyčnieva vykonávanie knižníc (38,8 %), tvorba hier (3,5 %) a spúšťanie vlastného kódu, ktorý nie je napísaný v JavaScripte (0,9 %). V 14,9 % prípadoch bol WebAssembly použitý na analýzu prostredia na identifikáciu používateľa (fingerprinting).

Zdroj: opennet.ru
