wasm3, WebAssembly аудармашысы өзінің алғашқы нұсқасын шығарады

W3

Жақында, wasm3 алғашқы нұсқасы шығарылды, қайсысы аудармашы аралық кодтың жылдамдығы WebAssembly арқылыБұл, ең алдымен, WebAssembly қосымшаларын микроконтроллерлерде және WebAssembly үшін JIT іске асыруы жоқ платформаларда іске қосу үшін жасалғандықтан, JIT жұмыс істеуі үшін жад жеткіліксіз немесе JIT Implementation үшін қажетті орындалатын жад беттерін жасау.

WebAssembly-ны білмейтіндер үшін сіз бұл туралы білуіңіз керек төменгі деңгейдегі тіл, бастапқыда C және C ++ тілдерінен компиляциялау кезінде мақсатты формат ретінде жасалған, бірақ ол Rust және Go сияқты басқа тілдерге арналған бастапқы кодты қолдайды. Бұл портативті екілік код форматы клиенттік браузерден сценарийлерді толық орындау үшін қолданылады.

Wasm3 туралы

Wasm3 үйлесімділік тесттерін тапсырады WebAssembly 1.0 сипаттамасымен және көптеген WASI қосымшаларын іске қосу үшін пайдалануға болады, JIT қозғалтқыштарына қарағанда 4-5 есе аз өнімді және жергілікті кодтың орындалуынан 11.5 есе аз өнімді қамтамасыз етеді.

Басқа орындаушылармен салыстырғанда WebAssembly (wac, life, wasm-micro-runtime), wasm3 15.8 есе жылдам болды.

Wasm3 ғылыми жоба ретінде басталды және көптеген әдістермен жалғасуда. Әр түрлі ортадағы қозғалтқышты бағалау тергеудің бір бөлігі болып табылады. Бізде MCU-да жұмыс істейтін Lua, JS, Python, Lisp, (…) болғандықтан, WebAssembly шынымен де перспективалы балама болып табылады. Бұл толығымен оқшауланған, нақты анықталған және болжанатын ортаны қамтамасыз етеді. Іс жүзінде қолдану жағдайларының қатарында біз алдыңғы қатарлы есептеу, сценарийлер, IoT ережелерін орындау, blockchain келісімшарттары және т.б.

Wasm3 64Kb жады мен 10Kb жедел жады қажет, сен не жобаны пайдалануға мүмкіндік береді компиляцияланған қосымшаларды WebAssembly-де іске қосу үшін сияқты микроконтроллерлерде Arduino MKR *, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 көк таблетка (STM32F103C8T6), MXChip AZ3166 (EMW3166), Maix (K210), HiFive1 (I310), E40) сонымен қатар сәулеттерге негізделген тақталар мен компьютерлерде x86, x64, ARM, MIPS, RISC-V және Xtens.

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

Оңтайландыру үшін жиі жұмыс процестері жиынтық операцияларға айналады.

Сонымен қатар, Зерттеу нәтижелерін вебтегі WebAssembly-де байқауға болады, Alexa рейтингіндегі ең танымал 948 мың сайтты талдаудан кейін зерттеушілер анықтады WebAssembly 1639 сайтта (0.17%), яғни 1 сайттың 600-де қолданылады.

Жалпы алғанда, веб-сайттар 1950 WebAssembly модулінің жүктемесін ашты, оның 150-і бірегей.

WebAssembly көлемін қарастыру кезінде көңіл көншітпейтін тұжырымдар жасалды: 50% -дан астам жағдайда WebAssembly зиянды мақсаттарда қолданылды, мысалы, криптовалюталарды өндіру (55,7%) және зиянды сценарийлерден кодты жасыру (0,2, XNUMX%) ).

Қолдау көрсетілетін операциялық жүйелерден Wasm3 үшін, біз Linux таба аламыз соның ішінде OpenWRT маршрутизаторлары, Windows, macOS, Android және iOS. Браузерде немесе өзін-өзі орналастыру үшін аудармашыны іске қосу үшін аралық WebAssembly кодына wasm3 компиляциясын құруға болады.

Веб-жинақтаудың заңды қолданылуынан кітапхананың орындалуы (38.8%), ойын құру (3.5%) және JavaScript-тен тыс жергілікті кодтың орындалуы (0.9%) байқалды. 14,9% жағдайда WebAssembly пайдаланушыны сәйкестендіру ортасын (саусақ іздері) талдау үшін пайдаланылды.

Wasm3 қолданып көріңіз

Осы аудармашыны өз жүйесінде қолдана алатындар үшін құжаттаманы, сондай-ақ жоба кодын біле алады ол С тілінде жазылған және MIT лицензиясы бойынша таратылған, Келесі сілтемеде.


Мақаланың мазмұны біздің ұстанымдарымызды ұстанады редакторлық этика. Қате туралы хабарлау үшін нұқыңыз Мұнда.

Бірінші болып пікір айтыңыз

Пікіріңізді қалдырыңыз

Сіздің электрондық пошта мекен-жайы емес жарияланады. Міндетті өрістер таңбаланған *

*

*

  1. Деректерге жауапты: Мигель Анхель Гатан
  2. Деректердің мақсаты: СПАМ-ны басқару, түсініктемелерді басқару.
  3. Заңдылық: Сіздің келісіміңіз
  4. Деректер туралы ақпарат: заңды міндеттемелерді қоспағанда, деректер үшінші тұлғаларға жіберілмейді.
  5. Деректерді сақтау: Occentus Networks (ЕО) орналастырған мәліметтер базасы
  6. Құқықтар: Сіз кез-келген уақытта ақпаратты шектей, қалпына келтіре және жоя аласыз.