birinci buraxılış , çox sürətli WebAssembly ara kodunun şərhçisi, əsasən JIT-in WebAssembly üçün tətbiqi olmayan, JIT işləməsi üçün kifayət qədər yaddaşı olmayan və ya JIT üçün lazım olan icra edilə bilən yaddaş səhifələrinin yaradılmasına icazə verilməyən mikrokontrol-lər və platformalarda WebAssembly tətbiqlərinin işə salınması üçün nəzərdə tutulmuşdur. Layihənin kodu C dilində yazılmışdır və MIT lisenziyası altında.
Wasm3 WebAssembly 1.0 spesifikasiyası ilə uyğunluğu təmin edir və bir çox WASI tətbiqlərini işə salmaq üçün istifadə oluna bilər, JIT motorları ilə yalnız 4-5 dəfə daha aşağı performans təqdim edir (, ) və native kodun icrasından 11.5 dəfə aşağıdır. Digər WebAssembly şərhçiləri ilə müqayisədə (, , ), wasm3 15.8 dəfə daha sürətli olmuşdur.
wasm3-ün işləməsi üçün 64Kb kod yaddaşı və 10Kb RAM tələb olunur, bu da layihənin WebAssembly-də kompilyasiya olunmuş tətbiqlərin icrası üçün mikrokontrollerlərdə istifadə edilməsinə imkan tanıyır , məsələn, Arduino MKR*, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166),
Maix (K210), HiFive1 (E310), Fomu (ICE40UP5K) və ATmega1284, həmçinin x86, x64, ARM, MIPS, RISC-V və Xtensa arxitekturası əsaslı platalar və kompüterlərdə. Əməliyyat sistemləri arasında Linux (OpenWRT əsaslı routerlər də daxil olmaqla), Windows, macOS, Android və iOS dəstəklənir. Həmçinin, wasm3-ün WebAssembly ara koduna kompiliyasiyası mümkündür ki, bu da şərhçini brauzerdə işlətmək və ya öz-özünə icra üçün (self-hosting) istifadə oluna bilər.
Yüksək performans, şərhçidə tətbiq olunan (M3) texnikası sayəsində əldə edilir; burada byte kodunun dekodlanması üzrə xərcləri azaltmaq üçün byte kodunun daha səmərəli əməliyyatlara proaktiv tərcüməsi həyata keçirilir ki, bu da pseudo-maşın kodu yaradır və stack virtual maşın modelinin daha səmərəli registr modelinə çevrilir. M3-dəki əməliyyatlar C funksiyalarıdır; arqumentləri virtual maşının registrləri, CPU registrlərinə əks oluna bilər. Tez-tez rast gəlinən əməliyyatlar optimallaşdırmaq üçün birlikdə əməliyyatlara çevrilir.
Əlavə olaraq qeyd etmək lazımdır ki, yayılması
WebAssembly vebdə. Alexa reytinqinə görə 948 min ən populyar veb saytları analiz edən tədqiqatçılar, WebAssembly-nin 1639 saytda (0.17%) istifadə edildiyini müəyyən etdilər, yəni hər 600 saytdan 1ində. İnternetdə 1950 WebAssembly modulu aşkar olunub, onlardan 150-si unikal. WebAssembly-nin tətbiq sahələrinə baxdıqda, ürəkağrıdıcı nəticələr əldə edilib — 50%-dən çox hallarda WebAssembly zərərli məqsədlərlə istifadə edilib, məsələn, kriptovalyuta mədaxili (55.7%) və zərərli skriptlərin kodunun gizlədilməsi (0.2%). WebAssembly-nin leqitimal istifadəsi kimi isə kitabxanaların icrası (38.8%), oyunların yaradılması (3.5%) və JavaScript-dən yazılmamış öz kodunun icrası (0.9%) qeyd edilib. 14.9% hallarda WebAssembly istifadəçini tanımaq (fingerprinting) üçün mühitin analizində istifadə edilib.

Mənbə: opennet.ru
