Ukukhishwa kokuqala kwe-wasm3, umhumushi we-WebAssembly osheshayo

Iyatholakala uhlelo lokuqala wam3, umhumushi wekhodi omaphakathi we-WebAssembly oshesha kakhulu ohloselwe ukusetshenziswa ekusebenziseni izinhlelo ze-WebAssembly kuma-microcontrollers nezinkundla ezingenakho ukuqaliswa kwe-JIT ye-WebAssembly, akanayo inkumbulo eyanele yokusebenzisa i-JIT, noma ayikwazi ukudala amakhasi enkumbulo asebenzisekayo adingekayo ukuze kusetshenziswe i-JIT. . Ikhodi yephrojekthi ibhalwe ku-C kanye isatshalaliswa ngu ngaphansi kwelayisensi ye-MIT.

Amaphasi we-Wasm3 izivivinyo iyahambisana nokucaciswa kwe-WebAssembly 1.0 futhi ingasetshenziswa ukuqhuba izinhlelo zokusebenza eziningi ze-WASI, inikeze ukusebenza okungaphansi izikhathi ezi-4-5 kuphela kunezinjini ze-JIT (sukumisa, i-cranelift) kanye nezikhathi ezingaphansi kuka-11.5 kunokusebenzisa ikhodi yomdabu. Uma kuqhathaniswa nabanye otolika beWebAssembly (WAC, ukuphila, i-wam-micro-runtime), i-wasm3 ivele yashesha izikhathi ezingu-15.8.

Ukuze usebenzise i-wasm3, udinga u-64Kb wememori yekhodi kanye no-10Kb we-RAM, okukuvumela ukuthi usebenzise iphrojekthi ukusebenzisa izinhlelo ezihlanganiswe ku-WebAssembly ama-microcontroller, njenge-Arduino MKR*, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166),
I-Maix (K210), i-HiFive1 (E310), iFomu (ICE40UP5K) ne-ATmega1284, kanye nasemabhodini nasemakhompuyutheni asekelwe kuzakhiwo ze-x86, x64, ARM, MIPS, RISC-V kanye ne-Xtensa. Amasistimu okusebenza asekelwayo afaka i-Linux (okuhlanganisa namarutha asekelwe ku-OpenWRT), iWindows, i-macOS, i-Android ne-iOS. Kungenzeka futhi ukuhlanganisa i-wam3 ibe yikhodi emaphakathi ye-WebAssembly ukuze uqalise umtoliki esipheqululini noma ukuze kwenziwe isidleke (ukusingathwa ngokwakho).

Ukusebenza okuphezulu kutholakala ngokusebenzisa ubuchwepheshe kumhumushi UMassey Meta Machine (M3), ehumusha phambili i-bytecode ibe imisebenzi esebenza kahle kakhudlwana yokukhiqiza ikhodi yomshini-mbumbulu ukuze kuncishiswe isihloko sokuqoshwa kwe-bytecode, futhi iguqule imodeli yokusebenzisa umshini obonakalayo osuselwa kusitaki ibe indlela esebenza ngempumelelo esekelwe kurejista. Ukusebenza ku-M3 kuyimisebenzi ye-C lapho ama-agumenti awo angamarejista omshini angaboniswa kumarejista e-CPU. Ukulandelana okuvamise ukwenzeka kwemisebenzi yokuthuthukisa kuguqulwa kube imisebenzi efingqiwe.

Ukwengeza, kungaphawulwa imiphumela yocwaningo ukusabalalisa
WebAssembly kuwebhu. Ngemva kokuhlaziya izinkulungwane ze-948 zezindawo ezithandwa kakhulu ngokwezilinganiso ze-Alexa, abacwaningi bathola ukuthi i-WebAssembly isetshenziswa kumasayithi we-1639 (0.17%), i.e. endaweni eyodwa kwezingama-1. Sekukonke, amamojula we-WebAssembly we-600 alandwe kumasayithi, lapho i-1950 yayihlukile. Lapho kucutshungulwa ububanzi bokusetshenziswa kwe-WebAssembly, kwenziwa iziphetho ezidumazayo - emacaleni angaphezu kuka-150%, i-WebAssembly yasetshenziselwa izinjongo ezinonya, isibonelo, i-cryptocurrency yezimayini (50%) nokufihla ikhodi yemibhalo engalungile (55.7%) . Ukusetshenziswa okusemthethweni kwe-WebAssembly kufaka phakathi ukusebenzisa imitapo yolwazi (0.2%), ukudala imidlalo (38.8%), nokusebenzisa ikhodi yangokwezifiso engeyona eye-JavaScript (3.5%). Ezimweni ezingu-0.9%, i-WebAssembly yasetshenziselwa ukuhlaziya indawo yokuhlonza umsebenzisi (izigxivizo zeminwe).

Ukukhishwa kokuqala kwe-wasm3, umhumushi we-WebAssembly osheshayo

Source: opennet.ru

Engeza amazwana