Rilis pisanan wasm3, interpreter WebAssembly sing cepet

Kasedhiya edisi pisanan wasm3, interpreter kode intermediate WebAssembly sing cepet banget utamané dimaksudaké kanggo nggunakake aplikasi WebAssembly ing mikrokontroler lan platform sing ora duwe implementasi JIT kanggo WebAssembly, ora duwe memori cukup kanggo mbukak JIT, utawa ora bisa nggawe kaca memori eksekusi sing dibutuhake kanggo ngleksanakake JIT . Kode project ditulis ing C lan disebarake dening miturut lisensi MIT.

Wasm3 liwat tes kompatibel karo spesifikasi WebAssembly 1.0 lan bisa digunakake kanggo mbukak akeh aplikasi WASI, menehi kinerja mung 4-5 kaping luwih murah tinimbang mesin JIT (angkat angkat, cranelift) lan 11.5 kaping luwih murah tinimbang eksekusi kode asli. Yen dibandhingake karo juru WebAssembly liyane (wac, urip, wasm-micro-runtime), wasm3 dadi 15.8 kaping luwih cepet.

Kanggo mbukak wasm3, sampeyan butuh memori kode 64Kb lan RAM 10Kb, sing ngidini sampeyan nggunakake proyek kasebut kanggo mbukak aplikasi sing disusun ing WebAssembly ing mikrokontroler, kayata Arduino MKR*, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166),
Maix (K210), HiFive1 (E310), Fomu (ICE40UP5K) lan ATmega1284, uga ing papan lan komputer adhedhasar arsitektur x86, x64, ARM, MIPS, RISC-V lan Xtensa. Sistem operasi sing didhukung kalebu Linux (kalebu router adhedhasar OpenWRT), Windows, macOS, Android lan iOS. Sampeyan uga bisa ngumpulake wasm3 menyang kode perantara WebAssembly kanggo mbukak interpreter ing browser utawa kanggo eksekusi nested (self-hosting).

Kinerja dhuwur digayuh kanthi nggunakake teknologi ing juru basa Mesin Meta Massey (M3), sing nerjemahake bytecode menyang operasi ngasilake kode pseudo-mesin sing luwih efisien kanggo ngurangi overhead dekoding bytecode, lan ngowahi model eksekusi mesin virtual basis tumpukan menyang pendekatan basis register sing luwih efisien. Operasi ing M3 minangka fungsi C sing argumentasi minangka register mesin virtual sing bisa dipetakan menyang register CPU. Urutan operasi optimasi sing kerep kedadeyan diowahi dadi operasi ringkesan.

Kajaba iku, bisa dicathet asil riset panyebaran
WebAssembly ing Web. Sawise nganalisa 948 ewu situs sing paling populer miturut peringkat Alexa, peneliti nemokake yen WebAssembly digunakake ing 1639 situs (0.17%), yaiku. ing 1 saka saben 600 situs. Secara total, 1950 modul WebAssembly diundhuh ing situs, sing 150 unik. Nalika nimbang ruang lingkup panggunaan WebAssembly, kesimpulan sing nguciwani digawe - ing luwih saka 50% kasus, WebAssembly digunakake kanggo tujuan angkoro, contone, kanggo pertambangan cryptocurrency (55.7%) lan ndhelikake kode skrip jahat (0.2%). . Panggunaan WebAssembly sing sah kalebu perpustakaan sing mlaku (38.8%), nggawe game (3.5%), lan kode non-JavaScript khusus (0.9%). Ing 14.9% kasus, WebAssembly digunakake kanggo nganalisa lingkungan kanggo identifikasi pangguna (sidik jari).

Rilis pisanan wasm3, interpreter WebAssembly sing cepet

Source: opennet.ru

Add a comment