Жылдам WebAssembly аудармашысы wasm3 бірінші шығарылымы

Қол жетімді бірінші басылым wasm3, өте жылдам WebAssembly аралық код интерпретаторы негізінен микроконтроллерлерде және WebAssembly үшін JIT енгізуі жоқ платформаларда WebAssembly қолданбаларын іске қосуда пайдалануға арналған, JIT іске қосу үшін жады жеткіліксіз немесе JIT енгізу үшін қажетті орындалатын жад беттерін жасай алмайтын . Жоба коды C және тілінде жазылған таралады MIT лицензиясы бойынша.

Wasm3 өтеді сынақтар WebAssembly 1.0 спецификациясымен үйлесімді және JIT қозғалтқыштарынан 4-5 есе төмен өнімділікті қамтамасыз ететін көптеген WASI қолданбаларын іске қосу үшін пайдалануға болады (көтерілу, кран көтеру) және жергілікті кодты орындаудан 11.5 есе төмен. Басқа WebAssembly аудармашыларымен салыстырғанда (wac, өмір, wasm-микро-орындау уақыты), wasm3 15.8 есе жылдам болып шықты.

wasm3 іске қосу үшін сізге 64 Кб код жады және 10 Кб жедел жады қажет, бұл жобаны 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 кіреді. Сондай-ақ, аудармашыны шолғышта іске қосу немесе кірістірілген орындау (өзін-өзі хостинг) үшін WebAssembly аралық кодына wasm3 құрастыруға болады.

Аудармашыда технологияны қолдану арқылы жоғары өнімділікке қол жеткізіледі Масси мета машинасы (M3), ол байт-кодты декодтау бойынша үстеме шығындарды азайту үшін байт-кодты псевдомашиналық кодты жасаушы операцияларға тиімдірек аударады және стекке негізделген виртуалды машинаны орындау үлгісін регистрге негізделген тиімдірек тәсілге түрлендіреді. M3 жүйесіндегі операциялар аргументтері орталық процессор регистрлерімен салыстыруға болатын виртуалды машина регистрлері болып табылатын C функциялары болып табылады. Оңтайландыру операцияларының жиі кездесетін тізбегі жиынтық операцияларға түрлендіріледі.

Бұған қоса, атап өтуге болады зерттеу нәтижелері диффузия
Вебтегі WebAssembly. Alexa рейтингтері бойынша ең танымал 948 мың сайтты талдағаннан кейін зерттеушілер WebAssembly 1639 сайтта (0.17%) қолданылатынын анықтады, яғни. әрбір 1 сайттың 600-інде. Сайттарда барлығы 1950 WebAssembly модулі жүктелді, оның 150-і бірегей болды. WebAssembly қолдану аясын қарастырған кезде көңіл көншітпейтін қорытындылар жасалды – 50%-дан астам жағдайда WebAssembly зиянды мақсаттарда, мысалы, криптовалютаны өндіру (55.7%) және зиянды сценарийлердің кодын жасыру (0.2%) үшін пайдаланылған. . WebAssembly заңды пайдалануларына кітапханаларды іске қосу (38.8%), ойындар жасау (3.5%) және пайдаланушы JavaScript емес кодты іске қосу (0.9%) кіреді. 14.9% жағдайда WebAssembly пайдаланушы сәйкестендіру (саусақ ізі) үшін ортаны талдау үшін пайдаланылды.

Жылдам WebAssembly аудармашысы wasm3 бірінші шығарылымы

Ақпарат көзі: opennet.ru

пікір қалдыру