Earste release fan wasm3, in rappe WebAssembly-tolk

Beskikber earste edysje wiem3, in heul rappe WebAssembly-intermediate koade-interpreter foaral bedoeld foar gebrûk yn it útfieren fan WebAssembly-applikaasjes op mikrocontrollers en platfoarms dy't gjin JIT-ymplemintaasje hawwe foar WebAssembly, net genôch ûnthâld hawwe om JIT út te fieren, of kinne de útfierbere ûnthâldsiden net oanmeitsje dy't nedich binne om JIT te ymplementearjen . It projekt koade is skreaun yn C en ferspraat troch ûnder de MIT-lisinsje.

Wasm3 giet troch tests kompatibel mei de WebAssembly 1.0-spesifikaasje en kin brûkt wurde om in protte WASI-applikaasjes út te fieren, wêrtroch prestaasjes mar 4-5 kear leger binne as JIT-motoren (opheffing, kraanlift) en 11.5 kear leger as native koade útfiering. Yn ferliking mei oare WebAssembly-tolken (wac, libben, wasm-micro-runtime), wasm3 die bliken 15.8 kear flugger te wêzen.

Om wasm3 út te fieren, hawwe jo 64Kb koade-ûnthâld en 10Kb RAM nedich, wêrmei jo it projekt kinne brûke om applikaasjes út te fieren dy't yn WebAssembly kompilearre binne op mikrocontrollers, lykas Arduino MKR*, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166),
Maix (K210), HiFive1 (E310), Fomu (ICE40UP5K) en ATmega1284, lykas op boards en kompjûters basearre op x86, x64, ARM, MIPS, RISC-V en Xtensa-arsjitektuer. Stipe bestjoeringssystemen omfetsje Linux (ynklusyf routers basearre op OpenWRT), Windows, macOS, Android en iOS. It is ek mooglik om wasm3 te kompilearjen yn WebAssembly-tuskenkoade om de tolk yn 'e browser út te fieren of foar nestede útfiering (self-hosting).

Hege prestaasjes wurde berikt troch it brûken fan technology yn 'e tolk Massey Meta Machine (M3), dy't bytekoade foarút oersette yn effisjinter pseudo-masine-koade-generearjende operaasjes om bytecode-dekodearjen overhead te ferminderjen, en it opstapel-basearre útfieringsmodel fan firtuele masines omsette nei in effisjinter register-basearre oanpak. Operaasjes yn M3 binne C-funksjes wêrfan arguminten firtuele masineregisters binne dy't kinne wurde yn kaart brocht oan CPU-registers. Faak foarkommende sekwinsjes fan optimisaasjeoperaasjes wurde omset yn gearfettingsoperaasjes.

Derneist kin it opmurken wurde ûndersyk resultaten Distribúsje
WebAssembly op it web. Nei it analysearjen fan 948 tûzen fan 'e populêrste siden neffens Alexa-wurdearrings, fûnen ûndersikers dat WebAssembly wurdt brûkt op 1639 siden (0.17%), d.w.s. op 1 fan alle 600 sites. Yn totaal waarden 1950 WebAssembly-modules op 'e siden ynladen, wêrfan 150 unyk. By it beskôgjen fan de omfang fan gebrûk fan WebAssembly, waarden teloarstellende konklúzjes makke - yn mear as 50% fan 'e gefallen waard WebAssembly brûkt foar kweade doelen, bygelyks foar mynbou fan cryptocurrency (55.7%) en it ferbergjen fan de koade fan kweade skripts (0.2%) . Legitime gebrûk fan WebAssembly omfettet rinnende bibleteken (38.8%), it meitsjen fan spultsjes (3.5%), en it útfieren fan oanpaste net-JavaScript-koade (0.9%). Yn 14.9% fan de gefallen waard WebAssembly brûkt om de omjouwing te analysearjen foar brûkersidentifikaasje (fingerprinting).

Earste release fan wasm3, in rappe WebAssembly-tolk

Boarne: opennet.ru

Add a comment