Esimene vÀljaanne wasm3, kiire WebAssembly tÔlkija

Saadaval esimene vĂ€ljaanne wasm3, vĂ€ga kiire vahendid vahe-koodi tĂ”lkija WebAssembly, mis on peamiselt mĂ”eldud WebAssembly rakenduste kĂ€itamiseks mikroprotsessorites ja platvormides, kus JIT WebAssembly rakenduse rakendus puudub, mĂ€lu on JIT töötamiseks ebapiisav vĂ”i ei ole lubatud luua kĂ€itatavaid mĂ€lulehti, mis on vajalikud JIT rakendamiseks. Projekti kood on kirjutatud keeles C ja GNU Üldine Avaliku litsentsi alusel. on MIT litsentsi all.

Wasm3 lĂ€bib testid WebAssembly 1.0 spetsifikatsiooniga ĂŒhilduvuse ja seda saab kasutada paljude WASI rakenduste kĂ€itamiseks, pakkudes tulemuslikkust, mis on ainult 4-5 korda madalam kui JIT- mootori (liftoff, cranelift) ja 11,5 korda madalam kui natiivkoodi tĂ€itmine. VĂ”rreldes teiste WebAssembly tĂ”lkijatega (wac, life, wasm-micro-runtime), oli wasm3 15,8 korda kiirem.

Wasm3 tööks on vajalik 64Kb mÀlu koodi jaoks ja 10Kb RAM-i, mis vÔimaldab projekti kasutada WebAssembly rakenduste tÀitmiseks mikroprotsessorites, nagu Arduino MKR*, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166),
Maix (K210), HiFive1 (E310), Fomu (ICE40UP5K) ja ATmega1284, samuti platvormidel ja arvutites, mis pĂ”hinevad arhitektuuridel x86, x64, ARM, MIPS, RISC-V ja Xtensa. Toetatakse operatsioonisĂŒsteeme Linux (sealhulgas OpenWRT-pĂ”hised ruuterid), Windows, macOS, Android ja iOS. Samuti on vĂ”imalik kompileerida wasm3 vaheformaat WebAssembly jaoks, et kĂ€ivitada tĂ”lgendaja brauseris vĂ”i teostada sisemist kĂ€ivitamist (self-hosting).

Kohene jÔudlus saavutatakse tÔlgendaja rakendamisel meetodite kasutamise kaudu Massey Meta Machine (M3), kus kulude vÀhendamiseks baitkoodi dekodeerimisel toimub eelnevalt baitkoodi tÔlkimine tÔhusamatesse toimingutesse, mis genereerivad pseudomasinakoode, ja virna virtuaalse masina vÀljundmudel muudetakse efektiivsemaks registri lÀhenemiseks. M3-s toimingud on C-funktsioonid, mille argumentideks on virtuaalmasina registrid, mis vÔivad peegelduda CPU registritesse. Tihti esinevad toimingute jÀrjestused optimeeritakse kokkuvÔtlikeks toiminguteks.

Lisaks saab mÀrkida uurimistulemused levik
WebAssembly veebis. Uurides 948 tuhat kĂ”ige populaarsemat veebisaiti Alexa reitingu alusel, leidsid teadlased, et WebAssembly-d kasutatakse 1639 veebisaidil (0,17%), st 1 igast 600 saidist. Kokku tuvastati veebisaitidel 1950 WebAssembly moodulit, millest 150 on unikaalsed. WebAssembly rakenduste analĂŒĂŒsi kĂ€igus tehti murettekitavad jĂ€reldused — rohkem kui 50% juhtudest kasutati WebAssembly-d pahatahtlikel eesmĂ€rkidel, nĂ€iteks krĂŒptovaluuta kaevandamiseks (55,7%) ja pahavara skriptide kodeerimise varjamiseks (0,2%). Legitiimsetest rakendustest mĂ€rgiti WebAssembly kasutamist raamatukogude tĂ€itmiseks (38,8%), mĂ€ngude loomiseks (3,5%) ja oma koodi tĂ€itmiseks, mis ei ole kirjutatud JavaScriptis (0,9%). 14,9% juhtudest kasutati WebAssembly-d kasutaja identifitseerimise (fingerprinting) keskkonna analĂŒĂŒsimiseks.

Esimene vÀljaanne wasm3, kiire WebAssembly tÔlkija

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster