Kutulutsidwa koyamba kwa wasm3, wotanthauzira mwachangu WebAssembly

Ipezeka kope loyamba wam3, womasulira wapakatikati wa WebAssembly wofulumira kwambiri yemwe amapangidwa kuti agwiritsidwe ntchito poyendetsa mapulogalamu a WebAssembly pa ma microcontrollers ndi mapulaneti omwe alibe JIT kukhazikitsa kwa WebAssembly, alibe kukumbukira kokwanira kuyendetsa JIT, kapena sangathe kupanga masamba okumbukira omwe akufunika kuti agwiritse ntchito JIT. . Khodi ya polojekitiyi yalembedwa mu C ndi wogawidwa ndi pansi pa layisensi ya MIT.

Wasm3 amadutsa mayeso yogwirizana ndi mawonekedwe a WebAssembly 1.0 ndipo ingagwiritsidwe ntchito kuyendetsa mapulogalamu ambiri a WASI, kupereka magwiridwe antchito kuchepera 4-5 kuposa injini za JIT (kuchotseredwa, cranelift) ndi nthawi 11.5 kutsika kuposa momwe amapangira ma code. Poyerekeza ndi omasulira ena a WebAssembly (wAC, moyo, wasm-micro-runtime), wasm3 idakhala yothamanga nthawi 15.8.

Kuti mugwiritse ntchito wasm3, mufunika 64Kb ya code memory ndi 10Kb ya RAM, zomwe zimakupatsani mwayi wogwiritsa ntchito pulojekitiyi kuyendetsa mapulogalamu opangidwa mu WebAssembly pa. ma microcontrollers, monga Arduino MKR*, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166),
Maix (K210), HiFive1 (E310), Fomu (ICE40UP5K) ndi ATmega1284, komanso pama board ndi makompyuta ozikidwa pa x86, x64, ARM, MIPS, RISC-V ndi Xtensa zomangamanga. Makina ogwiritsira ntchito omwe amathandizidwa akuphatikiza Linux (kuphatikiza ma routers otengera OpenWRT), Windows, macOS, Android ndi iOS. Ndikothekanso kuphatikizira wasm3 kukhala code yapakatikati ya WebAssembly kuti muthamangitse womasulira mu msakatuli kapena kuti achite zisa (kudzipangira nokha).

Kuchita kwakukulu kumatheka pogwiritsa ntchito luso lamakono mu womasulira Massey Meta Machine (M3), yomwe imamasulira patsogolo ma bytecode kukhala machitidwe opangira makina a pseudo-makina osavuta kuti achepetse kuwongolera kwa ma bytecode, ndikusintha mtundu wa makina opangira ma stack kukhala njira yabwino kwambiri yowerengera. Ntchito mu M3 ndi ntchito za C zomwe zotsutsana zake zimakhala zolembera zamakina zomwe zitha kujambulidwa ku zolembetsa za CPU. Zotsatizana zomwe zimachitika pafupipafupi za kukhathamiritsa zimasinthidwa kukhala magwiridwe antchito achidule.

Kuphatikiza apo, zitha kuzindikirika zotsatira zafukufuku kufalitsa
Mtengo WebAssembly pa intaneti Pambuyo pofufuza 948 zikwi za malo otchuka kwambiri malinga ndi Alexa ratings, ofufuza adapeza kuti WebAssembly imagwiritsidwa ntchito pa malo a 1639 (0.17%), i.e. patsamba 1 mwa 600 aliwonse. Pazonse, ma module a 1950 WebAssembly adatsitsidwa pamasamba, omwe 150 anali apadera. Poganizira kuchuluka kwa kugwiritsa ntchito WebAssembly, mfundo zokhumudwitsa zidapangidwa - pamilandu yopitilira 50%, WebAssembly idagwiritsidwa ntchito pazinthu zoyipa, mwachitsanzo, pamigodi ya cryptocurrency (55.7%) ndikubisa zolemba zoyipa (0.2%) . Kugwiritsa ntchito kovomerezeka kwa WebAssembly kumaphatikizapo kuyendetsa malaibulale (38.8%), kupanga masewera (3.5%), komanso kugwiritsa ntchito code yosakhala ya JavaScript (0.9%). Mu 14.9% yamilandu, WebAssembly idagwiritsidwa ntchito kusanthula chilengedwe chozindikiritsa ogwiritsa ntchito (kusindikiza zala).

Kutulutsidwa koyamba kwa wasm3, wotanthauzira mwachangu WebAssembly

Source: opennet.ru

Kuwonjezera ndemanga