wasm3, interpret WebAssembly vydává svou první verzi

W3

Nedávno, byla vydána první verze wasm3, který je tlumočník velmi rychlý přechodný kód podle WebAssemblyJelikož je primárně určen ke spouštění aplikací WebAssembly na mikrokontrolérech a platformách, pro které pro WebAssembly neexistuje implementace JIT, není dostatek paměti pro práci JIT nebo vytvoření stránek spustitelné paměti vyžadovaných pro implementaci JIT.

Pro ty, kteří WebAssembly neznají, měli byste vědět, že tomu tak je nízkoúrovňový jazyk, původně navržen jako cílový formát při kompilaci z C a C ++, ačkoli také podporuje zdrojový kód pro jiné jazyky, jako je Rust and Go. Tento přenosný formát binárního kódu se používá pro úplné provádění skriptů z prohlížeče na straně klienta.

O wasm3

Wasm3 prochází testy kompatibility se specifikací WebAssembly 1.0 a lze použít ke spuštění mnoha aplikací WASI, poskytuje pouze 4-5krát nižší výkon než motory JIT a 11.5krát méně než spuštění nativního kódu.

Ve srovnání s ostatními umělci z WebAssembly (wac, life, wasm-micro-runtime), wasm3 byl 15.8krát rychlejší.

Wasm3 začal jako výzkumný projekt a stále je tak v mnoha ohledech. Součástí vyšetřování je hodnocení motoru v různých prostředích. Protože máme Lua, JS, Python, Lisp, (…) spuštěné na MCU, WebAssembly je ve skutečnosti slibnou alternativou. Poskytuje zcela izolované, dobře definované a předvídatelné prostředí. Mezi případy praktického použití můžeme uvést špičkové výpočty, skriptování, provádění pravidel IoT, smlouvy blockchain atd.

wasm3 vyžaduje 64 kB paměti pro kód a 10 kB paměti RAM, co ty umožňuje použít projekt spouštět kompilované aplikace ve WebAssembly v mikrokontrolérech jako Arduino MKR *, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166), Maix (K210), HiFive1 (E310), I40ga5 (I1284gaXNUMX) , stejně jako na deskách a počítačích založených na architekturách x86, x64, ARM, MIPS, RISC-V a Xtens.

Vysokého výkonu je dosaženo použitím techniky Massey Meta Machine (M3) v tlumočníkovi, ve kterém, ke snížení režie dekódování bajtového kódu, bytový kód je proaktivně přeložen v efektivnějších operacích, které generují pseudo-strojový kód a model provádění skládaného virtuálního stroje se stává efektivnějším přístupem k registraci, operace v M3 jsou C funkce, jejichž argumenty jsou registry virtuálního stroje, které se mohou projevit v CPU registry.

Časté pracovní postupy pro optimalizaci se promění v souhrnné operace.

Navíc, Výsledky studie lze pozorovat na WebAssembly on the Web, po analýze 948 tisíc nejpopulárnějších webů hodnocených společností Alexa, zjistili vědci WebAssembly využívá 1639 0.17 webů (1%), což je 600 ze XNUMX webů.

Celkově weby odhalily zatížení 1950 modulů WebAssembly, z nichž 150 je jedinečných.

Při zvažování rozsahu WebAssembly byly učiněny neuspokojivé závěry: ve více než 50% případů bylo WebAssembly použito pro škodlivé účely, například k těžbě kryptoměn (55,7%) a ke skrytí kódu před škodlivými skripty (0,2, XNUMX%) .

Podporovaných operačních systémů pro Wasm3, můžeme najít Linux včetně routerů založených na OpenWRT, Windows, macOS, Android a iOS. Bylo také možné zkompilovat wasm3 do mezilehlého kódu WebAssembly pro spuštění tlumočníka v prohlížeči nebo pro vlastní hostování.

Z legitimního použití WebAssembly bylo pozorováno spuštění knihovny (38.8%), tvorba hry (3.5%) a spuštění nativního kódu bez JavaScriptu (0.9%). V 14,9% případů byla WebAssembly použita k analýze prostředí pro identifikaci uživatele (otisky prstů).

Zkuste wasm3

Pro ty, kteří mají zájem o použití tohoto tlumočníka ve svém systému, může nahlédnout do dokumentace i do kódu projektu který je napsán v jazyce C a distribuován pod licencí MIT, Na následujícím odkazu.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.