Rhyddhad cyntaf wasm3, dehonglydd WebAssembly cyflym

Ar gael argraffiad cyntaf wasm3, dehonglydd cod canolraddol cyflym iawn WebAssembly, a fwriedir yn bennaf i'w ddefnyddio i redeg cymwysiadau WebAssembly ar ficroreolyddion a llwyfannau nad oes ganddynt weithrediad JIT WebCynulliad, nad oes ganddynt ddigon o gof i redeg JIT, neu na allant greu tudalennau cof gweithredadwy sy'n ofynnol ar gyfer gweithredu JIT . Mae cod y prosiect wedi'i ysgrifennu yn iaith C a dosbarthu gan dan drwydded MIT.

Wasm3 yn mynd heibio profion i fod yn gydnaws â manyleb WebAssembly 1.0 a gellir ei ddefnyddio i redeg llawer o gymwysiadau WASI, gan ddarparu perfformiad dim ond 4-5 gwaith yn is na pheiriannau JIT (lifft, lifft craen) a 11.5 gwaith yn is na gweithredu cod brodorol. O gymharu â dehonglwyr WebCynulliad eraill (WAC, bywyd, wasm-micro-runtime), roedd wasm3 15.8 gwaith yn gyflymach.

Mae Wasm3 angen 64Kb o gof ar gyfer cod a 10Kb o RAM, sy'n eich galluogi i ddefnyddio'r prosiect i redeg rhaglenni a luniwyd yn WebAssembly ar microreolyddion, megis Arduino MKR*, Arduino Due, Gronynnau Ffoton, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166),
Maix (K210), HiFive1 (E310), Fomu (ICE40UP5K) ac ATmega1284, yn ogystal â byrddau a chyfrifiaduron yn seiliedig ar bensaernïaeth x86, x64, ARM, MIPS, RISC-V a Xtensa. Y systemau gweithredu a gefnogir yw Linux (gan gynnwys llwybryddion seiliedig ar OpenWRT), Windows, macOS, Android, ac iOS. Mae hefyd yn bosibl crynhoi wasm3 i god WebCynulliad canolradd i weithredu'r dehonglydd yn y porwr neu ar gyfer lansiad nythu (hunan-gynnal).

Cyflawnir perfformiad uchel trwy ddefnyddio technoleg yn y cyfieithydd Peiriant Meta Massey (M3), sy'n trosi bytecode yn preemptively yn weithrediadau cynhyrchu cod ffug-peiriant mwy effeithlon i leihau gorbenion datgodio bytecode, ac yn trawsnewid y model gweithredu peiriant rhithwir stac i ddull cofrestr mwy effeithlon. Mae gweithrediadau yn M3 yn swyddogaethau C y mae eu dadleuon yn gofrestri peiriannau rhithwir y gellir eu mapio i gofrestrau CPU. Mae dilyniannau o weithrediadau sy'n digwydd yn aml ar gyfer optimeiddio yn cael eu trosi'n weithrediadau cryno.

Yn ogystal, gellir ei nodi canlyniadau ymchwil lledaenu
WebCynulliad yn y We. Ar ôl dadansoddi’r 948 mil o wefannau mwyaf poblogaidd yn ôl sgôr Alexa, darganfu’r ymchwilwyr fod WebAssembly yn cael ei ddefnyddio ar 1639 o safleoedd (0.17%), h.y. ar 1 o bob 600 o safleoedd. Yn gyfan gwbl, canfuwyd 1950 o fodiwlau WebCynulliad ar y safleoedd, ac mae 150 ohonynt yn unigryw. Wrth ystyried cwmpas WebAssembly, gwnaed casgliadau siomedig - mewn mwy na 50% o achosion, defnyddiwyd WebAssembly at ddibenion maleisus, er enghraifft, ar gyfer mwyngloddio cryptocurrency (55.7%) a chuddio'r cod sgriptiau maleisus (0.2%). Mae defnyddiau cyfreithlon o WebAssembly yn cynnwys gweithredu llyfrgelloedd (38.8%), creu gemau (3.5%), a gweithredu cod brodorol nad yw'n cynnwys JavaScript (0.9%). Mewn 14.9% o achosion, defnyddiwyd WebAssembly i ddadansoddi'r amgylchedd ar gyfer adnabod defnyddwyr (olion bysedd).

Rhyddhad cyntaf wasm3, dehonglydd WebAssembly cyflym

Ffynhonnell: opennet.ru

Ychwanegu sylw