Thawj tso tawm ntawm wasm3, tus neeg txhais lus WebAssembly ceev

Muaj thawj tsab yam 3, WebAssembly nrawm heev tus neeg txhais lus nruab nrab feem ntau yog tsim los siv rau hauv kev khiav WebAssembly daim ntawv thov ntawm microcontrollers thiab platforms uas tsis muaj JIT kev siv rau WebAssembly, tsis muaj lub cim xeeb txaus los khiav JIT, lossis tsis tuaj yeem tsim cov nplooj ntawv cim xeeb uas xav tau los siv JIT . Qhov project code yog sau rau hauv C thiab faib los ntawm nyob rau hauv MIT daim ntawv tso cai.

Wasm3 dhau cov kev ntsuam xyuas Tau tshaj WebAssembly 1.0 specification thiab tuaj yeem siv los khiav ntau daim ntawv thov WASI, muab kev ua haujlwm tsuas yog 4-5 npaug qis dua JIT xyaw (tshem tawm, cranelift) thiab 11.5 npaug qis dua li qhov kev ua tiav ntawm haiv neeg. Thaum piv nrog lwm tus neeg txhais lus WebAssembly (wAC, lub neej, yog-micro-runtime), wasm3 muab 15.8 npaug sai dua.

Txhawm rau khiav wasm3, koj xav tau 64Kb ntawm cov cim cim xeeb thiab 10Kb ntawm RAM, uas tso cai rau koj siv qhov project los khiav cov ntawv sau ua ke hauv WebAssembly ntawm microcontrollers, xws li Arduino MKR*, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166),
Maix (K210), HiFive1 (E310), Fomu (ICE40UP5K) thiab ATmega1284, nrog rau ntawm cov laug cam thiab khoos phis tawj raws li x86, x64, ARM, MIPS, RISC-V thiab Xtensa architectures. Kev khiav haujlwm txhawb nqa suav nrog Linux (suav nrog routers raws li OpenWRT), Windows, macOS, Android thiab iOS. Nws kuj tseem tuaj yeem suav nrog wasm3 rau hauv WebAssembly intermediate code los khiav tus neeg txhais lus hauv browser lossis rau kev ua tiav nested (self-hosting).

Kev ua haujlwm siab yog ua tiav los ntawm kev siv thev naus laus zis hauv tus neeg txhais lus Massey Meta Tshuab (M3), uas rau pem hauv ntej-txhais bytecode rau hauv ntau dua pseudo-tshuab code-tsim kev ua haujlwm kom txo tau bytecode decoding nyiaj siv ua haujlwm, thiab hloov cov txheej txheem-raws li virtual tshuab ua qauv mus rau kev sau npe ua haujlwm zoo dua. Kev ua haujlwm hauv M3 yog C ua haujlwm uas nws cov lus sib cav yog cov ntawv sau npe tshuab virtual uas tuaj yeem ua rau daim ntawv teev npe CPU. Feem ntau tshwm sim ua ntu zus ntawm kev ua kom zoo tshaj plaws yog hloov mus rau hauv cov ntsiab lus ua haujlwm.

Tsis tas li ntawd, nws tuaj yeem raug sau tseg tshawb fawb tau kev faib tawm
WebAssembly ntawm lub Web. Tom qab tshuaj xyuas 948 txhiab ntawm cov chaw nrov tshaj plaws raws li Alexa kev ntsuam xyuas, cov kws tshawb fawb pom tias WebAssembly yog siv rau ntawm 1639 qhov chaw (0.17%), piv txwv li. ntawm 1 ntawm txhua 600 qhov chaw. Nyob rau hauv tag nrho, 1950 WebAssembly modules tau rub tawm ntawm cov chaw, ntawm 150 qhov tshwj xeeb. Thaum txiav txim siab txog kev siv WebAssembly, kev poob siab cov lus xaus tau ua - hauv ntau dua 50% ntawm cov xwm txheej, WebAssembly tau siv rau lub hom phiaj tsis zoo, piv txwv li, rau mining cryptocurrency (55.7%) thiab zais cov cai ntawm cov ntawv tsis zoo (0.2%). . Kev siv raws cai ntawm WebAssembly suav nrog cov tsev qiv ntawv khiav (38.8%), tsim kev ua si (3.5%), thiab khiav kev cai tsis yog JavaScript code (0.9%). Hauv 14.9% ntawm cov neeg mob, WebAssembly tau siv los txheeb xyuas ib puag ncig rau kev txheeb xyuas tus neeg siv (tus ntiv tes).

Thawj tso tawm ntawm wasm3, tus neeg txhais lus WebAssembly ceev

Tau qhov twg los: opennet.ru

Ntxiv ib saib