Toleo la kwanza la wasm3, mkalimani wa haraka wa WebAssembly

Inapatikana toleo la kwanza wasm3, mkalimani wa msimbo wa kati wa WebAssembly wa haraka sana aliyekusudiwa kutumika katika kuendesha programu za WebAssembly kwenye vidhibiti vidogo na majukwaa ambayo hayana utekelezaji wa JIT kwa WebAssembly, haina kumbukumbu ya kutosha kuendesha JIT, au haiwezi kuunda kurasa za kumbukumbu zinazoweza kutekelezeka zinazohitajika kutekeleza JIT. . Nambari ya mradi imeandikwa katika C na kusambazwa na chini ya leseni ya MIT.

Wasm3 hupita vipimo inaendana na maelezo ya WebAssembly 1.0 na inaweza kutumika kuendesha programu nyingi za WASI, ikitoa utendaji mara 4-5 tu kuliko injini za JIT (Nyanyua, cranelift) na mara 11.5 chini ya utekelezaji wa nambari asilia. Ikilinganishwa na wakalimani wengine wa WebAssembly (WAC, maisha, wasm-micro-runtime), wasm3 iligeuka kuwa kasi mara 15.8.

Ili kuendesha wasm3, unahitaji 64Kb ya kumbukumbu ya msimbo na 10Kb ya RAM, ambayo hukuruhusu kutumia mradi kuendesha programu zilizokusanywa kwenye WebAssembly kwenye vidhibiti vidogo, kama vile Arduino MKR*, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166),
Maix (K210), HiFive1 (E310), Fomu (ICE40UP5K) na ATmega1284, na pia kwenye bodi na kompyuta kulingana na usanifu wa x86, x64, ARM, MIPS, RISC-V na Xtensa. Mifumo ya uendeshaji inayotumika ni pamoja na Linux (ikiwa ni pamoja na vipanga njia kulingana na OpenWRT), Windows, macOS, Android na iOS. Pia inawezekana kukusanya wasm3 katika msimbo wa kati wa WebAssembly ili kuendesha mkalimani kwenye kivinjari au kwa utekelezaji uliowekwa kiota (kupangisha kibinafsi).

Utendaji wa juu unapatikana kupitia matumizi ya teknolojia katika mkalimani Massey Meta Machine (M3), ambayo hutafsiri msimbo wa mbele kuwa shughuli bora zaidi za kutengeneza msimbo wa mashine-basi ili kupunguza kichwa cha usimbaji wa bytecode, na kubadilisha muundo wa utekelezaji wa mashine pepe ya rafu hadi mbinu bora zaidi inayotegemea rejista. Uendeshaji katika M3 ni chaguo za kukokotoa za C ambazo hoja zake ni rejista pepe za mashine zinazoweza kupangwa kwa rejista za CPU. Mifuatano inayotokea mara kwa mara ya shughuli za uboreshaji inabadilishwa kuwa shughuli za muhtasari.

Kwa kuongeza, inaweza kuzingatiwa matokeo ya utafiti usambazaji
WebAssembly kwenye Wavuti. Baada ya kuchambua 948 za tovuti maarufu zaidi kulingana na viwango vya Alexa, watafiti waligundua kuwa WebAssembly hutumiwa kwenye tovuti 1639 (0.17%), i.e. kwenye tovuti 1 kati ya 600. Kwa jumla, moduli za WebAssembly 1950 zilipakuliwa kwenye tovuti, ambazo 150 zilikuwa za kipekee. Wakati wa kuzingatia upeo wa matumizi ya WebAssembly, hitimisho la kukatisha tamaa lilifanywa - katika zaidi ya 50% ya kesi, WebAssembly ilitumiwa kwa madhumuni mabaya, kwa mfano, kwa cryptocurrency ya madini (55.7%) na kuficha msimbo wa hati mbaya (0.2%). . Matumizi halali ya WebAssembly ni pamoja na kuendesha maktaba (38.8%), kuunda michezo (3.5%), na kuendesha msimbo maalum usio wa JavaScript (0.9%). Katika 14.9% ya kesi, WebAssembly ilitumiwa kuchambua mazingira ya utambulisho wa mtumiaji (uchapishaji wa vidole).

Toleo la kwanza la wasm3, mkalimani wa haraka wa WebAssembly

Chanzo: opennet.ru

Kuongeza maoni