Sürətli WebAssembly tərcüməçisi olan wasm3-ün ilk buraxılışı

Mövcuddur birinci nəşr wasm3, çox sürətli WebAssembly ara kod tərcüməçisi, ilk növbədə, WebAssembly üçün JIT tətbiqi olmayan, JIT-i işə salmaq üçün kifayət qədər yaddaşa malik olmayan və ya JIT-i həyata keçirmək üçün lazım olan icra edilə bilən yaddaş səhifələrini yarada bilməyən mikro nəzarətçilərdə və platformalarda WebAssembly proqramlarının işlədilməsi üçün nəzərdə tutulmuşdur. . Layihə kodu C və dilində yazılmışdır yayılır MIT lisenziyası altında.

Wasm3 keçir testlər WebAssembly 1.0 spesifikasiyası ilə uyğun gəlir və bir çox WASI proqramlarını işə salmaq üçün istifadə oluna bilər, bu da JIT mühərriklərindən yalnız 4-5 dəfə aşağı performans təmin edir (qaldırma, kranlift) və yerli kodun icrasından 11.5 dəfə aşağıdır. Digər WebAssembly tərcüməçiləri ilə müqayisə edildikdə (wac, həyat, wasm-mikro iş vaxtı), wasm3 15.8 dəfə daha sürətli olduğu ortaya çıxdı.

wasm3-ü işə salmaq üçün sizə 64Kb kod yaddaşı və 10Kb RAM lazımdır ki, bu da layihədən WebAssembly-də tərtib edilmiş proqramları işə salmaq üçün istifadə etməyə imkan verir. mikrokontrollerlə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 arxitekturalarına əsaslanan lövhələrdə və kompüterlərdə. Dəstəklənən əməliyyat sistemlərinə Linux (OpenWRT əsasında marşrutlaşdırıcılar daxil olmaqla), Windows, macOS, Android və iOS daxildir. Brauzerdə tərcüməçini işə salmaq və ya iç-içə icra (self-hosting) üçün wasm3-ü WebAssembly ara koduna tərtib etmək də mümkündür.

Yüksək performans tərcüməçidə texnologiyadan istifadə etməklə əldə edilir Massey Meta Maşın (M3), bayt kodu dekodlaşdırma yükünü azaltmaq üçün bayt kodunu daha səmərəli psevdo-maşın kod yaradan əməliyyatlara irəli çevirir və yığına əsaslanan virtual maşının icra modelini daha səmərəli registr əsaslı yanaşmaya çevirir. M3-dəki əməliyyatlar, arqumentləri CPU registrləri ilə əlaqələndirilə bilən virtual maşın registrləri olan C funksiyalarıdır. Optimallaşdırma əməliyyatlarının tez-tez baş verən ardıcıllıqları xülasə əməliyyatlarına çevrilir.

Əlavə olaraq qeyd etmək olar tədqiqat nəticələri yayılması
Vebdə WebAssembly. Alexa reytinqinə görə 948 min ən populyar saytı təhlil edən tədqiqatçılar müəyyən ediblər ki, WebAssembly 1639 saytda (0.17%) istifadə olunur, yəni. hər 1 saytdan 600-də. Saytlarda ümumilikdə 1950 WebAssembly modulu endirilib, onlardan 150-si unikaldır. WebAssembly-dən istifadənin əhatə dairəsini nəzərdən keçirərkən, məyusedici nəticələr çıxarıldı - 50% -dən çox hallarda WebAssembly zərərli məqsədlər üçün, məsələn, kriptovalyuta (55.7%) mədənçilik və zərərli skriptlərin kodunu gizlətmək (0.2%) üçün istifadə edilmişdir. . WebAssembly-dən qanuni istifadələrə kitabxanaların işlədilməsi (38.8%), oyunların yaradılması (3.5%) və xüsusi qeyri-JavaScript kodunun işlədilməsi (0.9%) daxildir. 14.9% hallarda istifadəçi identifikasiyası (barmaq izi) üçün mühitin təhlili üçün WebAssembly-dən istifadə edilib.

Sürətli WebAssembly tərcüməçisi olan wasm3-ün ilk buraxılışı

Mənbə: opennet.ru

Добавить комментарий