wasm3, a WebAssembly tolmács kiadja első verzióját

W3

Legutóbb, megjelent a wasm3 első verziója, ami tolmács nagyon gyors a köztes kód a WebAssembly segítségévelMivel elsősorban a WebAssembly alkalmazások futtatására készült mikrokontrollereken és platformokon, amelyeknél nincs JIT implementáció a WebAssembly számára, nincs elég memória a JIT működéséhez, vagy a JIT implementálásához szükséges futtatható memória oldalak létrehozása.

Azok számára, akik nem ismerik a WebAssembly-t, tudnia kell, hogy ez az alacsony szintű nyelv, eredetileg C és C ++ fordításból célformátumként lett megtervezve, bár más nyelvek forráskódját is támogatja, például a Rust és a Go esetében. Ez a hordozható bináris kódformátum a parancsfájlok teljes futtatására szolgál az ügyféloldali böngészőből.

A wasm3-ról

A Wasm3 megfelelt a kompatibilitási teszteken a WebAssembly 1.0 specifikációval és sok WASI alkalmazás futtatására használható, csak 4-5-szer alacsonyabb teljesítményt nyújt, mint a JIT motorok, és 11.5-szer alacsonyabb, mint a natív kód futtatása.

Más előadókhoz képest a WebAssembly-ből (wac, life, wasm-micro-runtime), a wasm3 15.8-szor gyorsabb volt.

A Wasm3 kutatási projektként indult, és sokféleképpen ez a helyzet. A motor értékelése különböző környezetekben a vizsgálat része. Mivel Lua, JS, Python, Lisp (...) fut az MCU-n, a WebAssembly valójában ígéretes alternatíva. Teljesen elszigetelt, jól körülhatárolható és kiszámítható környezetet biztosít. A gyakorlati felhasználási esetek között felsorolhatunk élvonalbeli számítástechnikát, szkripteket, IoT-szabályok végrehajtását, blokklánc-szerződéseket stb.

wasm3 64KB memóriát igényel a kódhoz és 10Kb RAM-ot, amit te lehetővé teszi a projekt használatát fordított alkalmazások futtatásához a WebAssembly-ben mikrokontrollerekben, mint Arduino MKR *, Arduino Due, részecskefoton, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 kék tabletta (STM32F103C8T6), MXChip AZ3166 (EMW3166), Maix (K210), HiFive1 (E310), E40, E5 , valamint az architektúrákon alapuló táblákon és számítógépeken x86, x64, ARM, MIPS, RISC-V és Xtens.

Nagy teljesítményt érhet el a Massey Meta Machine technika (M3) a tolmácsban, amelyben hogy csökkentse a byte-kód dekódolásának általános költségeit, a bájtkódot proaktív módon fordítják hatékonyabb műveleteknél, amelyek ál-gépi kódot generálnak, és a halmozott virtuális gép végrehajtási modellje hatékonyabb regiszter-megközelítéssé válik, az M3 műveletek C-ben vannak, amelyek argumentumai a virtuális gép regiszterei, amelyek tükröződhetnek a CPU regiszterekben.

Az optimalizáláshoz szükséges gyakori munkafolyamatok összefoglaló műveletekké válnak.

Ezen túlmenően, A tanulmány eredményei a WebAssembly on the Web-en figyelhetők meg, miután az Alexa által minősített legnépszerűbb webhelyek 948 ezer elemzését követően a kutatók azt találták, hogy A WebAssemblyt 1639 webhelyen használják (0.17%), vagyis 1 helyből 600-et.

Összességében a weboldalak feltárták az 1950 WebAssembly modul terhelését, amelyek közül 150 egyedi.

A WebAssembly hatókörének mérlegelésekor csalódást keltő következtetéseket vontak le: az esetek több mint 50% -ában a WebAssemblyt rosszindulatú célokra használták, például kriptovaluták bányászatára (55,7%) és a kód elrejtésére a rosszindulatú szkriptek elől (0,2 (XNUMX%).

A támogatott operációs rendszerek közül a Wasm3 esetében, megtalálhatjuk a Linuxot beleértve az OpenWRT alapú útválasztókat, Windows, macOS, Android és iOS. Lehetséges volt a wasm3 fordítása a közbenső WebAssembly kódba is, hogy futtassa a tolmácsot egy böngészőben, vagy önállóan tárolja.

A WebAssembly törvényes felhasználásai közül a könyvtár végrehajtása (38.8%), a játék létrehozása (3.5%) és a nem JavaScript natív kód végrehajtása (0.9%) volt megfigyelhető. Az esetek 14,9% -ában a WebAssemblyt használták a felhasználói azonosítás (ujjlenyomatok) környezetének elemzésére.

Próbálja ki a wasm3-at

Azok számára, akik érdeklik, hogy ezt a tolmácsot képesek legyenek használni a rendszerükben, megtekintheti a dokumentációt, valamint a projekt kódját amelyet C-ben írtak és az MIT licenc alatt terjesztenek, A következő linken.


Legyen Ön az első hozzászóló

Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.