Kutanga kuburitswa kwe wasm3, muturikiri weWebAssembly anokurumidza

Inowanikwa yekutanga edition wasm3, inokurumidza zvikuru WebAssembly yepakati kodhi muturikiri anonyanya kuitirwa kushandiswa mukumhanyisa WebAssembly application pane microcontrollers uye mapuratifomu asina JIT kuitiswa kweWebAssembly, asina ndangariro yakakwana yekumhanyisa JIT, kana haigone kugadzira mapeji endangariro anoteedzera anodiwa kushandisa JIT. . Iyo kodhi yeprojekiti yakanyorwa muC uye inoparadzirwa ne pasi peMIT rezinesi.

Wasm3 inopfuura bvunzo inoenderana neiyo WebAssembly 1.0 yakatarwa uye inogona kushandiswa kumhanya akawanda WASI application, ichipa kuita chete 4-5 nguva yakaderera pane JIT injini (simudza, cranelift) uye 11.5 nguva yakaderera pane yekuzvarwa kodhi kuuraya. Kana ichienzaniswa nevamwe vaturikiri veWebAssembly (wac, upenyu, wasm-micro-runtime), wasm3 yakakurumidza kuita 15.8 times.

Kuti umhanye wasm3, unoda 64Kb yekodhi memory uye 10Kb ye RAM, iyo inokutendera kuti ushandise purojekiti kumhanyisa maapplication akaunganidzwa muWebAssembly pa. microcontrollers, zvakadai seArduino MKR*, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166),
Maix (K210), HiFive1 (E310), Fomu (ICE40UP5K) uye ATmega1284, pamwe chete nemabhodhi nemakomputa zvinoenderana ne x86, x64, ARM, MIPS, RISC-V uye Xtensa architectures. Masisitimu ekushanda anotsigirwa anosanganisira Linux (kusanganisira marouters akavakirwa paOpenWRT), Windows, macOS, Android uye iOS. Zvinogonekawo kuunganidza wasm3 muWebAssembly yepakati kodhi kumhanyisa muturikiri mubrowser kana kuti nested execution (yega-yega).

Kuita kwepamusoro kunowanikwa kuburikidza nekushandiswa kwemichina mumuturikiri Massey Meta Machine (M3), iyo inoshandura mberi-inoshandura bytecode mune mamwe maitiro anobudirira epseudo-muchina kodhi-yekugadzira mashandiro ekudzikisa bytecode decoding pamusoro, uye inoshandura iyo stack-based virtual virtual execution modhi kuti iite inoshanda rejista-based approach. Kushanda muM3 mabasa eC ane nharo dziri marejista emuchina anogona kumepu kuCPU marejista. Zvinowanzoitika kutevedzana kwemaitiro ekugadzirisa zvinoshandurwa kuita pfupiso mashandiro.

Uyezve, inogona kucherechedzwa tsvakurudzo zvabuda distribution
WebAssembly paWebhu. Mushure mekuongorora 948 zviuru zvemasayiti anozivikanwa zvikuru maererano neAlexa ratings, vatsvakurudzi vakaona kuti WebAssembly inoshandiswa panzvimbo dze1639 (0.17%), i.e. panzvimbo imwe chete pamazana matanhatu ega ega. Pakazara, 1 WebAssembly modules yakatorwa panzvimbo, iyo 600 yakanga yakasiyana. Kana tichifunga nezvehuwandu hwekushandiswa kweWebAssembly, mhedziso dzinoodza mwoyo dzakaitwa - mune zvinopfuura 1950% zvezviitiko, WebAssembly yakashandiswa kune zvinangwa zvakashata, semuenzaniso, kumigodhi cryptocurrency (150%) uye kuvanza kodhi yezvinyorwa zvakashata (50%). . Kushandiswa zviri pamutemo kweWebAssembly kunosanganisira kushandisa maraibhurari (55.7%), kugadzira mitambo (0.2%), uye kushandisa tsika isiri yeJavaScript code (38.8%). Mu3.5% yezviitiko, WebAssembly yakashandiswa kuongorora zvakatipoteredza zvekuzivikanwa kwevashandisi (fingerprinting).

Kutanga kuburitswa kwe wasm3, muturikiri weWebAssembly anokurumidza

Source: opennet.ru

Voeg