ʻO ka hoʻokuʻu mua ʻana o wasm3, kahi unuhi unuhi WebAssembly wikiwiki

Loaʻa paʻi mua wasm3, he mea unuhi helu kikowaena WebAssembly wikiwiki loa i manaʻo nui ʻia no ka hoʻohana ʻana i ka hoʻohana ʻana i nā noi WebAssembly ma nā microcontrollers a me nā paepae i loaʻa ʻole kahi JIT hoʻokō no WebAssembly, ʻaʻole lawa ka hoʻomanaʻo e holo JIT, a ʻaʻole hiki ke hana i nā ʻaoʻao hoʻomanaʻo hoʻokō pono e hoʻokō ai i ka JIT . Ua kākau ʻia ke code papahana ma C a mahele ʻia e ma lalo o ka laikini MIT.

Holo ʻo Wasm3 nā ho'āʻo kūpono me ka WebAssembly 1.0 kikoʻī a hiki ke hoʻohana ʻia e holo i nā noi WASI he nui, e hāʻawi ana i ka hana 4-5 mau manawa haʻahaʻa ma mua o nā mīkini JIT (hāpai hāpai, cranelift) a he 11.5 manawa haʻahaʻa ma mua o ka hoʻokō ʻana i nā code maoli. Ke hoʻohālikelike ʻia me nā unuhi unuhi WebAssembly (wac, ola, wasm-micro-runtime), ua lilo ʻo wasm3 he 15.8 manawa ʻoi aku ka wikiwiki.

No ka holo ʻana i wasm3, pono ʻoe i 64Kb o ka hoʻomanaʻo code a me 10Kb o RAM, e hiki ai iā ʻoe ke hoʻohana i ka papahana e holo i nā noi i hōʻuluʻulu ʻia ma WebAssembly ma microcontrollers, e like me Arduino MKR*, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166),
Maix (K210), HiFive1 (E310), Fomu (ICE40UP5K) a me ATmega1284, a me nā papa a me nā kamepiula e pili ana i x86, x64, ARM, MIPS, RISC-V a me Xtensa architectures. ʻO nā ʻōnaehana hana i kākoʻo ʻia me Linux (me nā mea hoʻokele e pili ana i OpenWRT), Windows, macOS, Android a me iOS. Hiki nō hoʻi ke hōʻuluʻulu i ka wasm3 i loko o ke code intermediate WebAssembly e holo i ka unuhi ʻōlelo ma ka polokalamu kele pūnaewele a i ʻole no ka hoʻokō ʻana (self-hosting).

Loaʻa ka hana kiʻekiʻe ma o ka hoʻohana ʻana i ka ʻenehana i ka unuhi ʻōlelo Mīkini Meta Massey (M3), ka mea i unuhi mua i ka bytecode i oi aku ka pono pseudo-machine code-generating operations e hoemi i ka bytecode decoding overhead, a hoohuli i ke kumu hoʻokō mīkini maʻemaʻe i hoʻopaʻa ʻia i ke ala hoʻopaʻa inoa ʻoi aku ka maikaʻi. ʻO nā hana ma M3 he mau hana C nona nā hoʻopaʻapaʻa ʻana i nā papa inoa mīkini virtual hiki ke hoʻopaʻa ʻia i nā papa inoa CPU. Hoʻololi pinepine ʻia nā kaʻina hana hoʻopono i nā hana hōʻuluʻulu.

Eia hou, hiki ke ʻike ʻia nā hopena noiʻi hoolaha ana
WebAssembly ma ka Pūnaewele. Ma hope o ka nānā ʻana i ka 948 tausani o nā pūnaewele kaulana loa e like me nā helu Alexa, ua ʻike nā mea noiʻi ua hoʻohana ʻia ʻo WebAssembly ma nā pūnaewele 1639 (0.17%), ʻo ia hoʻi. ma 1 o kēlā me kēia 600 pūnaewele. Ma ka huina, 1950 WebAssembly modules i hoʻoiho ʻia ma nā pūnaewele, kahi o 150 i kū hoʻokahi. I ka noʻonoʻo ʻana i ke ʻano o ka hoʻohana ʻana i ka WebAssembly, ua hana ʻia nā hopena hoʻohaʻahaʻa - ma mua o 50% o nā hihia, ua hoʻohana ʻia ʻo WebAssembly no nā hana ʻino, no ka laʻana, no ka mining cryptocurrency (55.7%) a hūnā i ke code o nā palapala hōʻino (0.2%). . ʻO ka hoʻohana pono ʻana o WebAssembly me nā hale waihona puke (38.8%), ka hana ʻana i nā pāʻani (3.5%), a me ka hoʻohana ʻana i ka code JavaScript non-JavaScript (0.9%). Ma 14.9% o nā hihia, ua hoʻohana ʻia ʻo WebAssembly e nānā i ke kaiapuni no ka ʻike mea hoʻohana (ka manamana lima).

ʻO ka hoʻokuʻu mua ʻana o wasm3, kahi unuhi unuhi WebAssembly wikiwiki

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka