Edisioni i parë i wasm3, interpretuesit të shpejtë të WebAssembly

I verfĂŒshĂ«m nĂ«na i parĂ« wasm3, njĂ« interpreter shumĂ« tĂ« shpejtĂ« tĂ« kodit ndĂ«rmjetĂ«s WebAssembly, kryesisht i dizajnuar pĂ«r tĂ« ekzekutuar aplikacione WebAssembly nĂ« mikrocontrolerĂ« dhe platforma pĂ«r tĂ« cilat nuk ka implementim JIT pĂ«r WebAssembly, ka memorie tĂ« pamjaftueshme pĂ«r tĂ« operuar JIT, ose nuk lejon krijimin e faqeve tĂ« ekzekutueshme tĂ« memories, tĂ« nevojshme pĂ«r implementimin e JIT. Kodi i projektit Ă«shtĂ« shkruar nĂ« gjuhĂ«n C dhe distribuohet nĂ« pĂ«rputhje me licencĂ«n MIT.

Wasm3 kalon teste për pajtueshmëri me specifikimin WebAssembly 1.0 dhe mund të përdoret për të ekzekutuar shumë aplikacione WASI, duke ofruar performancë vetëm 4-5 herë më të ulët se motorët JIT (liftoff, cranelift) dhe 11.5 herë më poshtë se ekzekutimi i kodit natyror. Në krahasim me interpreterat e tjerë WebAssembly (wac, life, wasm-micro-runtime), wasm3 rezultoi të jetë 15.8 herë më i shpejtë.

Për të funksionuar, wasm3 kërkon 64Kb memorie për kod dhe 10Kb RAM, çka lejon projektin të ekzekutojë aplikacione të kompiluar në WebAssembly në mikrokontrolerë, si Arduino MKR*, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166),
Maix (K210), HiFive1 (E310), Fomu (ICE40UP5K) dhe ATmega1284, si dhe në pllakat dhe kompjuterët bazuar në arkitekturat x86, x64, ARM, MIPS, RISC-V dhe Xtensa. Sistemet operative të mbështetura përfshijnë Linux (përfshirë routerët e bazuar në OpenWRT), Windows, macOS, Android dhe iOS. Po ashtu, është e mundur të kompilohet wasm3 në kod ndërmjetës WebAssembly për të ekzekutuar interpreterin në shfletues ose për ekzekutimin e brendshëm (self-hosting).

Performanca e lartë arrihet përmes aplikimit të teknikës Massey Meta Machine (M3), në të cilën për të reduktuar shpenzimet e dekodimit të kodit të bytes, bëhet përkthimi paraprak i kodit të bytes në operacione më të efektshme, duke gjeneruar kodin pseudo-makinë, dhe modeli i ekzekutimit të makines virtuale me grupe kthehet në një qasje më të efektshme me regjistra. Operacionet në M3 përfaqësojnë funksione C, argumentet e të cilave janë regjistrat e makinës virtuale, të cilat mund të pasqyrohen në regjistrat e CPU-së. Sekuencat e zakonshme të operacioneve për optimizim kthehen në operacione të përmbledhura.

Për më tepër, mund të theksohet rezultatet e hulumtimit përdorimit
WebAssembly nĂ« Web. Duke analizuar 948 mijĂ« faqet mĂ« tĂ« njohura sipas renditjes Alexa, studiuesit zbuluan se WebAssembly pĂ«rdoret nĂ« 1639 faqe (0.17%), dmth. nĂ« 1 nga çdo 600 faqe. NĂ« total mbi faqet janĂ« identifikuar 1950 module WebAssembly, nga tĂ« cilat 150 janĂ« unike. Duke shqyrtuar fushĂ«n e aplikimit tĂ« WebAssembly janĂ« bĂ«rĂ« konkluzione tĂ« pasjellshme — nĂ« mĂ« shumĂ« se 50% tĂ« rasteve WebAssembly Ă«shtĂ« pĂ«rdorur pĂ«r qĂ«llime tĂ« kĂ«qija, pĂ«r shembull pĂ«r minimin e kriptomonedhave (55.7%) dhe fshehjen e kodit tĂ« skriptave tĂ« dĂ«mshme (0.2%). Nga aplikimet legjitime tĂ« WebAssembly, Ă«shtĂ« vĂ«rejtur ekzekutimi i bibliotekave (38.8%), krijimi i lojĂ«rave (3.5%) dhe ekzekutimi i kodit tĂ« vet, i shkruar jo nĂ« JavaScript (0.9%). NĂ« 14.9% tĂ« rasteve WebAssembly Ă«shtĂ« pĂ«rdorur pĂ«r analizimin e mjedisit pĂ«r identifikimin e pĂ«rdoruesit (fingerprinting).

Edisioni i parë i wasm3, interpretuesit të shpejtë të WebAssembly

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster