համատեղելիության ապահովման մոդուլը , շատ արագ WebAssembly միջին կոդի մեկնաբանիչ, հիմնականում նախատեսված WebAssembly հավելյալների գործարկման համար միկրոքոնտրոլերներում և այն պլատֆորմներում, որտեղ 缺乏 JIT- ի կիրառում WebAssembly- ի համար, չի բավականացնում հիշողություն JIT- ի գործունեության համար կամ չի թույլատրվում ստեղծել կատարման հիշողության էջեր, որոնք անհրաժեշտ են JIT- ի կիրագործման համար: projekti koda անգլերեն նիշերով գրանցված է C լեզվով և MIT լիցեզիայի տակ է:
Wasm3 проходит WebAssembly 1.0- ի բնութագրի համատեղելիությանը և կարող է կիրառվել բազմաթիվ WASI հավելյալներ գործարկելու համար, ապահովել է JIT շարժիչներից (, ) 4-5 անգամ ավելի ցածր կատարողականությամբ և բն/native ծածկագիր թերի արդյունքի 11,5 անգամ: Այլ WebAssembly մեկնաբանիչների (, , ) համեմատ, wasm3- ը 15,8 անգամ ավելի արագ է:
Wasm3- ի պահպանման համար անհրաժեշտ է 64Kb հիշողություն կոդի և 10Kb RAM, ինչը հնարավորություն է տալիս նախագծի օգտագործմանը WebAssembly-ում կոմպիլացված հավելյալների գործարկման համար , ինչպիսիք են Arduino MKR*, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166),
Maix (K210), HiFive1 (E310), Fomu (ICE40UP5K) և ATmega1284, ինչպես նաև x86, x64, ARM, MIPS, RISC-V և Xtensa ճարտարապետություններին հիմնված պլատֆորմներում և համակարգիչներում: Հետեւյալ օպերացիոն համակարգերից աջակցվում են Linux (ընդգրկելով OpenWRT- ի հիման վրա կառուցված маршрутизատներս), Windows, macOS, Android և iOS: Հնարավոր է նաև wasm3- ի կոմպլիլացում WebAssembly միջին կոդի համար, որը թույլ է տալիս մեկնաբանիչները գործել բրաուզերում կամ ներմուծված (self-hosting) գործարկման համար:
Բարձր կատարողականությունը ձեռք է բերվում մեկնաբանիչում կիրառվող (M3) տեխնոլոգիայով, որտեղ բիթային կոդի նշանակել reducciones , որոնք մեծացնում են արդյունավետ գործողություններ, որոնք ստեղծում են pseudo-мachine կոդ, իսկ ստեղների վիրտուալ մեքենայի գործունեությունը փոխակերպվում է ավելի արդյունավետ գրանցման մոտեցման: M3- ի գործողություններն են C ֆունկցիաներ, որոնց արգումենտները վիրտուալ մեքենայի գրանցայինները կարող են արտահանվել CPU գրանցականների վրա: Շատ հաճախ մանում գործողության հաջորդականությունները օպտիմիզացված են հակիրճ գործողություններում:
Ավելին, կարելի է նշել հրապարակման
WebAssembly-ն կայքերում։ Վերլուծելով 948 հազար ամենատարածված կայքեր Alexa դասավորման համաձայն, հետազոտողները պարզել են, որ WebAssembly օգտագործվում է 1639 կայքերում (0.17%), այսինքն՝ 600 կայքերից 1-ում։ Զարգացվել է 1950 WebAssembly մոդուլ, որոնցից 150-ն.unique են։ WebAssembly-ի կիրառման ոլորտի վերլուծության արդյունքում կատարվել են անկարդալի եզրակացություններ՝ ավելի քան 50%-ում WebAssembly-ն օգտագործվել է չարագործական նպատակներով, օրինակ՝ կրիպտոարժույթների մայինի համար (55.7%) և չարագործական սցենարների կոդի թաքցնելու համար (0.2%)։ Legitim կիրառման դեպքում WebAssembly-ի կիրառել է գրադարանների իրականացում (38.8%), խաղերի ստեղծում (3.5%) և JavaScript-ից չգրված սեփական կոդի իրականացում (0.9%)։ 14.9%-ում WebAssembly-ն օգտագործվել է օգտագործողի նույնականացման (fingerprinting) շրջապատի վերլուծության համար։

Ընտանիք: opennet.ru
