wasm3, e WebAssembly Dolmetscher verëffentlecht seng éischt Versioun

W3

Viru kuerzem, déi éischt Versioun vu wasm3 koum eraus, dat ass en Dolmetscher ganz séier vum Zwëschencode vun WebAssemblyWell et haaptsächlech entwéckelt ass fir WebAssembly Uwendungen op Microcontrollers a Plattformen ze lafen fir déi et keng JIT-Implementatioun fir WebAssembly ass, gëtt et net genuch Gedächtnis fir JIT fir ze schaffen, oder d'Schafe vun ausführbare Speichersäite fir d'JIT Implementatioun erfuerderlech.

Fir déi net kennt mat WebAssembly, sollt Dir wëssen datt dëst ass eng niddereg Niveau Sprooch, ufanks als Zilformat beim Zesummestelle vun C an C ++ entwéckelt, och wann et och Quellcode fir aner Sprooche ënnerstëtzt, wéi Rust a Go. Dëse portable binäre Code Format gëtt fir voll Ausféierung vu Skripte vum Client-Säit Browser benotzt.

Iwwer wasm3

Wasm3 passt Kompatibilitéitstester mat der WebAssembly 1.0 Spezifikatioun an kënne benotzt gi fir vill WASI Uwendungen auszeféieren, nëmmen 4-5 Mol manner Leeschtung wéi JIT Motoren an 11.5 Mol manner wéi natierlech Code Ausféierung.

Am Verglach mat aneren Interpreten vu WebAssembly (wac, life, wasm-micro-runtime), wasm3 war 15.8 mol méi séier.

Wasm3 huet als Fuerschungsprojet ugefaang a bleift dat op ville Weeër. Evaluatioun vum Motor a verschiddenen Ëmfeld ass Deel vun der Enquête. Well mir Lua, JS, Python, Lisp, (...) op MCU lafen, ass WebAssembly eigentlech eng villverspriechend Alternativ. Et bitt e komplett isoléiert, gutt definéiert a viraussiichtlecht Ëmfeld. Ënnert de praktesche Benotzungsfäll kënne mir modernste Rechen, Skripting, IoT Regel Ausféierung, Blockchain Kontrakter, etc.

Wasm3 erfuerdert 64Kb Gedächtnis fir Code an 10Kb RAM, wat Dir erlaabt de Projet ze benotzen fir kompiléiert Uwendungen am WebAssembly auszeféieren a Mikrokontroller wéi Arduino MKR *, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166), Maix (K210), HiFive1 (E310), AT40ga , wéi och op Boards a Computeren op Basis vun Architekturen x86, x64, ARM, MIPS, RISC-V, an Xtens.

Héich Leeschtung gëtt erreecht mat der Massey Meta Machine Technik (M3) am Dolmetscher, an deem, fir d'Overhead vun der Ofkodéierung vum Bytecode ze reduzéieren, de Bytecode gëtt proaktiv iwwersat a méi effizienten Operatiounen déi Pseudo-Maschinncode generéieren an den Ausféierungsmodell vun der gestapelter virtueller Maschinn gëtt e méi effiziente Regëster Approche d'Operatiounen am M3 sinn C Funktiounen, deenen hir Argumenter d'Register vun der virtueller Maschinn sinn, déi kënne reflektéiert ginn an de CPU Registere.

Heefeg Workflows fir Optimiséierung ginn a Resumé Operatiounen.

Och, D'Resultater vun der Studie kënnen um WebAssembly um Web observéiert ginn, no der Analyse vun 948 Dausend vun de populärste Site vun Alexa bewäert, hunn d'Fuerscher fonnt datt WebAssemblage gëtt vun 1639 Site (0.17%) benotzt, dat sinn 1 op 600 Site.

Am Ganzen hunn d'Websäiten d'Laascht vun de 1950 WebAssembly Moduler verroden, vun deenen der 150 eenzegaarteg sinn.

Wann Dir den Ëmfang vu WebAssemblage berécksiichtegt, goufen enttäuschend Conclusiounen gezunn: a méi wéi 50% vu Fäll gouf WebAssemblage fir béisaarteg Zwecker benotzt, zum Beispill fir Krypto-Währungen ofzebauen (55,7%) a fir Code vu béisaartege Skripter ze verstoppen (0,2 , XNUMX%).

Vun ënnerstëtzte Betribssystemer fir Wasm3, mir kënnen Linux fannen abegraff OpenWRT baséiert Router, Windows, macOS, Android an iOS. Et war och méiglech wasm3 an den Zwëschen WebAssemblecode ze kompiléieren fir den Dolmetscher an engem Browser oder fir Selbsthosting auszeféieren.

Vun de legitimen Utilisatioune vu WebAssembly goufen d'Bibliothéiksausféierung (38.8%), d'Spillkreatioun (3.5%) an d'net-JavaScript native Code Ausféierung (0.9%) observéiert. A 14,9% vu Fäll gouf WebAssembly benotzt fir d'Ëmfeld fir Benotzeridentifikatioun (Fangerofdréck) ze analyséieren.

Probéiert wasm3

Fir déi, déi interesséiert sinn dësen Dolmetscher an hirem System kënnen ze benotzen, kann d'Dokumentatioun wéi och de Projet Code consultéieren deen an C geschriwwe gëtt an ënner der MIT Lizenz verdeelt gëtt, An de folgende Link.


Den Inhalt vum Artikel hält sech un eis Prinzipie vun redaktionnell Ethik. Fir e Feeler ze mellen klickt hei.

Gitt d'éischt fir ze kommentéieren

Gitt Äre Kommentar

Är Email Adress gëtt net publizéiert ginn. Néideg Felder sinn markéiert mat *

*

*

  1. Responsabel fir d'Daten: Miguel Ángel Gatón
  2. Zweck vun den Donnéeën: Kontroll SPAM, Kommentarmanagement.
  3. Legitimatioun: Är Zoustëmmung
  4. Kommunikatioun vun den Donnéeën: D'Donnéeë ginn net un Drëttubidder matgedeelt ausser duerch legal Verpflichtung.
  5. Datenspeicher: Datebank gehost vun Occentus Networks (EU)
  6. Rechter: Zu all Moment kënnt Dir Är Informatioun limitéieren, recuperéieren an läschen.