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ó