První vydání wasm3, rychlého interpretrátora WebAssembly.

Dostupné první vydání wasm3, velmi rychlý interpret mezikódu WebAssembly, který je primárně navržen pro spuštění aplikací WebAssembly na mikrokontrolérech a platformách, pro které neexistuje implementace JIT pro WebAssembly, je nedostatek paměti pro JIT nebo není povoleno vytváření spustitelných stránek paměti potřebných pro implementaci JIT. Kód projektu je napsán v jazyce C a distribuováno je licencován pod MIT licencí.

Wasm3 procházejí testy na kompatibilitu se specifikací WebAssembly 1.0 a je možné je použít pro spuštění mnoha aplikací WASI, přičemž výkon je pouze 4-5krát nižší než u JIT motorů (liftoff, cranelift) a 11,5krát nižší než při vykonávání nativního kódu. Při porovnání s jinými interprety WebAssembly (wac, life, wasm-micro-runtime), wasm3 se ukázal jako rychlejší na 15,8krát.

Pro provoz wasm3 je potřeba 64 KB paměti pro kód a 10 KB RAM, což umožňuje použití projektu pro spouštění aplikací zkompilovaných do WebAssembly na mikrokontrolérech, jako jsou 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, stejně jako na deskách a počítačích na základě architektur x86, x64, ARM, MIPS, RISC-V a Xtensa. Mezi podporované operační systémy patří Linux (včetně směrovačů založených na OpenWRT), Windows, macOS, Android a iOS. Také je možné kompilovat wasm3 do mezikódu WebAssembly pro spuštění interpretu v prohlížeči nebo pro vnořené spuštění (self-hosting).

Vysoký výkon je dosažen díky použití v interpretaci techniky Massey Meta Machine (M3), kde k redukci režijních nákladů na dekódování bajtkódu se provádí předběžná translace bajtkódu na efektivnější operace, které generují pseudo-strojový kód, a model vykonávání zásobníkové virtuální stroje je převeden na efektivnější registr. Operace v M3 představují funkce C, jejichž argumenty jsou registry virtuálního stroje, které mohou být mapovány na registry CPU. Často se vyskytující sekvence operací pro optimalizaci se transformují na sjednocené operace.

Dále lze poznamenat výsledky výzkumu rozšíření
WebAssembly na webu. Analýzou 948 tisíc nejpopulárnějších webů podle hodnocení Alexa zjistili výzkumníci, že WebAssembly se používá na 1639 stránkách (0,17 %), což znamená, že na 1 z každých 600 webů. Na těchto stránkách bylo odhaleno 1950 modulů WebAssembly, z čehož 150 bylo unikátních. Při zkoumání oblasti použití WebAssembly byly učiněny troufale negativní závěry - ve více než 50 % případů byl WebAssembly použit ke škodlivým účelům, například pro těžbu kryptoměn (55,7 %) a skrývání kódu škodlivých skriptů (0,2 %). Z legitimních použití WebAssembly bylo zaznamenáno provádění knihoven (38,8 %), vývoj her (3,5 %) a spuštění vlastního kódu napsaného nikoli v JavaScriptu (0,9 %). V 14,9 % případů byl WebAssembly použit pro analýzu prostředí k identifikaci uživatele (fingerprinting).

První vydání wasm3, rychlého interpretrátora WebAssembly.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster