Pelepasan munggaran wasm3, juru WebAssembly gancang

Aya édisi munggaran wasm3, panganteur kode panganteur WebAssembly pisan gancang utamana dimaksudkeun pikeun pamakéan dina ngajalankeun aplikasi WebAssembly on microcontrollers sarta platform nu teu boga palaksanaan JIT pikeun WebAssembly, teu boga cukup memori pikeun ngajalankeun JIT, atawa teu bisa nyieun kaca memori laksana diperlukeun pikeun nerapkeun JIT. . Kode proyék ditulis dina C jeung disebarkeun ku handapeun lisénsi MIT.

Wasm3 lulus ujian cocog jeung spésifikasi WebAssembly 1.0 sarta bisa dipaké pikeun ngajalankeun loba aplikasi WASI, nyadiakeun kinerja ngan 4-5 kali leuwih handap mesin JIT (angkat, cranelift) sareng 11.5 kali langkung handap tina palaksanaan kode asli. Lamun dibandingkeun jeung juru WebAssembly séjén (wac, kahirupan, wasm-micro-runtime), wasm3 tétéla 15.8 kali leuwih gancang.

Pikeun ngajalankeun wasm3, anjeun peryogi 64Kb memori kode sareng 10Kb RAM, anu ngamungkinkeun anjeun ngagunakeun proyék pikeun ngajalankeun aplikasi anu disusun dina WebAssembly on mikrokontroler, sapertos Arduino MKR*, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166),
Maix (K210), HiFive1 (E310), Fomu (ICE40UP5K) sareng ATmega1284, kitu ogé dina papan sareng komputer dumasar kana x86, x64, ARM, MIPS, RISC-V sareng Xtensa arsitéktur. Sistem operasi anu dirojong kalebet Linux (kalebet router dumasar kana OpenWRT), Windows, macOS, Android sareng ios. Ieu oge mungkin pikeun compile wasm3 kana kode panganteur WebAssembly pikeun ngajalankeun juru dina browser atawa pikeun palaksanaan nested (self-hosting).

Kinerja luhur dihontal ku ngagunakeun téknologi dina juru basa Mesin Meta Massey (M3), nu maju-narjamahkeun bytecode kana pseudo-mesin kode-generate operasi leuwih efisien pikeun ngurangan bytecode decoding overhead, sarta ngarobah model palaksanaan mesin virtual basis tumpukan kana pendekatan basis register leuwih efisien. Operasi dina M3 nyaéta fungsi C anu alesanna nyaéta mesin virtual registers nu bisa dipetakeun kana CPU registers. Runtuyan operasi optimasi anu sering kajantenan dirobih janten operasi kasimpulan.

Sajaba ti éta, bisa dicatet hasil panalungtikan sosialisasi
WebAssembly dina Wéb. Saatos analisa 948 rébu tina situs pang populerna nurutkeun ratings Alexa, peneliti manggihan yén WebAssembly dipaké dina 1639 situs (0.17%), i.e. dina 1 ti unggal 600 situs. Dina total, 1950 modul WebAssembly diunduh dina situs, dimana 150 unik. Nalika tempo ruang lingkup pamakéan WebAssembly, conclusions nguciwakeun dijieun - dina leuwih ti 50% kasus, WebAssembly ieu dipaké pikeun tujuan jahat, contona, pikeun pertambangan cryptocurrency (55.7%) jeung nyumputkeun kodeu skrip jahat (0.2%). . Pamakéan sah tina WebAssembly kaasup ngajalankeun perpustakaan (38.8%), nyieun kaulinan (3.5%), sarta ngajalankeun kode custom non-JavaScript (0.9%). Dina 14.9% kasus, WebAssembly dipaké pikeun nganalisis lingkungan pikeun idéntifikasi pamaké (sidik jari).

Pelepasan munggaran wasm3, juru WebAssembly gancang

sumber: opennet.ru

Tambahkeun komentar