wasm3 рдХреЛ рдкрд╣рд┐рд▓реЛ рд░рд┐рд▓реАрдЬ, рдПрдХ рдЫрд┐рдЯреЛ WebAssembly рдЕрдиреБрд╡рд╛рджрдХ

рдЙрдкрд▓рдмреНрдз рдЫ рдкрд╣рд┐рд▓реЛ рд╕рдВрд╕реНрдХрд░рдг wasm3, рдПрдХ рдзреЗрд░реИ рдЫрд┐рдЯреЛ WebAssembly рдордзреНрдпрд╡рд░реНрддреА рдХреЛрдб рджреЛрднрд╛рд╖реЗ рдореБрдЦреНрдпрддрдпрд╛ рдорд╛рдЗрдХреНрд░реЛрдХрдиреНрдЯреНрд░реЛрд▓рд░ рд░ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдорд╣рд░реВрдорд╛ WebAssembly рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рдЪрд▓рд╛рдЙрди рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдЕрднрд┐рдкреНрд░реЗрд░рд┐рдд рд╣реЛ рдЬрд╕рдорд╛ WebAssembly рдХреЛ рд▓рд╛рдЧреА JIT рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЫреИрди, JIT рдЪрд▓рд╛рдЙрди рдкрд░реНрдпрд╛рдкреНрдд рдореЗрдореЛрд░реА рдЫреИрди, рд╡рд╛ JIT рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдпреЛрдЧреНрдп рдореЗрдореЛрд░реА рдкреГрд╖реНрдард╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд╕рдХреНрджреИрдиред ред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛрдб C рд░ рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рддрд░рд┐рдд MIT рд▓рд╛рдЗрд╕реЗрдиреНрд╕ рдЕрдиреНрддрд░реНрдЧрддред

Wasm3 рдкрд╛рд╕ рдкрд░реАрдХреНрд╖рдг WebAssembly 1.0 рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рдирд╕рдБрдЧ рдЙрдкрдпреБрдХреНрдд рд░ рдзреЗрд░реИ WASI рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рдЪрд▓рд╛рдЙрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, JIT рдЗрдиреНрдЬрд┐рдирд╣рд░реВ рднрдиреНрджрд╛ 4-5 рдЧреБрдгрд╛ рдХрдо рдорд╛рддреНрд░ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ (рд▓рд┐рдлреНрдЯ рдЕрдл, рдХреНрд░реЗрдирд▓рд┐рдлреНрдЯ) рд░ рдиреЗрдЯрд┐рдн рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рднрдиреНрджрд╛ резрез.рел рдЧреБрдгрд╛ рдХрдоред рдЕрдиреНрдп WebAssembly рдЕрдиреБрд╡рд╛рджрдХрд╣рд░реВрд╕рдБрдЧ рддреБрд▓рдирд╛ рдЧрд░реНрджрд╛ (wac, рдЬреАрд╡рди, wasm-рдорд╛рдЗрдХреНрд░реЛ-рд░рдирдЯрд╛рдЗрдо), wasm3 15.8 рдЧреБрдгрд╛ рдЫрд┐рдЯреЛ рднрдпреЛред

wasm3 рдЪрд▓рд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓рд╛рдИ 64Kb рдХреЛрдб рдореЗрдореЛрд░реА рд░ 10Kb RAM рдЪрд╛рд╣рд┐рдиреНрдЫ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ WebAssembly рдорд╛ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░рд┐рдПрдХрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рдЪрд▓рд╛рдЙрди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдорд╛рдЗрдХреНрд░реЛрдХрдиреНрдЯреНрд░реЛрд▓рд░рд╣рд░реВ, рдЬрд╕реНрддреИ Arduino MKR*, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 рдмреНрд▓реВ рдкрд┐рд▓ (STM32F103C8T6), MXChip AZ3166 (EMW3166),
Maix (K210), HiFive1 (E310), Fomu (ICE40UP5K) рд░ ATmega1284, рд╕рд╛рдереИ x86, x64, ARM, MIPS, RISC-V рд░ Xtensa рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдмреЛрд░реНрдбрд╣рд░реВ рд░ рдХрдореНрдкреНрдпреБрдЯрд░рд╣рд░реВрдорд╛ред рд╕рдорд░реНрдерд┐рдд рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдорд╣рд░реВрдорд╛ рд▓рд┐рдирдХреНрд╕ (OpenWRT рдорд╛ рдЖрдзрд╛рд░рд┐рдд рд░рд╛рдЙрдЯрд░рд╣рд░реВ рд╕рд╣рд┐рдд), Windows, macOS, Android рд░ iOS рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреНред WebAssembly рдордзреНрдпрд╡рд░реНрддреА рдХреЛрдбрдорд╛ wasm3 рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрди рдкрдирд┐ рд╕рдореНрднрд╡ рдЫ рдмреНрд░рд╛рдЙрдЬрд░рдорд╛ рджреЛрднрд╛рд╖реЗ рдЪрд▓рд╛рдЙрди рд╡рд╛ рдиреЗрд╕реНрдЯреЗрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рд╕реЗрд▓реНрдл-рд╣реЛрд╕реНрдЯрд┐рдЩ) рдХреЛ рд▓рд╛рдЧрд┐ред

рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рджреЛрднрд╛рд╖реЗ рдорд╛ рдЯреЗрдХреНрдиреЛрд▓реЛрдЬреА рдХреЛ рдкреНрд░рдпреЛрдЧ рдХреЛ рдорд╛рдзреНрдпрдо рдмрд╛рдЯ рдкреНрд░рд╛рдкреНрдд рдЧрд░рд┐рдиреНрдЫ Massey рдореЗрдЯрд╛ рдореЗрд╕рд┐рди (M3), рдЬрд╕рд▓реЗ рдмрд╛рдЗрдЯрдХреЛрдб рдбрд┐рдХреЛрдбрд┐рдЩ рдУрднрд░рд╣реЗрдб рдХрдо рдЧрд░реНрди рдердк рдХреБрд╢рд▓ рд╕реНрдпреВрдбреЛ-рдореЗрд╕рд┐рди рдХреЛрдб-рдЬреЗрдирд░реЗрдЯрд┐рдЩ рдЕрдкрд░реЗрд╕рдирд╣рд░реВрдорд╛ рдмрд╛рдЗрдЯрдХреЛрдбрд▓рд╛рдИ рдлрд░реНрд╡рд╛рд░реНрдб-рдЕрдиреБрд╡рд╛рдж рдЧрд░реНрдЫ, рд░ рд╕реНрдЯреНрдпрд╛рдХ-рдЖрдзрд╛рд░рд┐рдд рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЛрдбреЗрд▓рд▓рд╛рдИ рдердк рдХреБрд╢рд▓ рджрд░реНрддрд╛-рдЖрдзрд╛рд░рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдгрдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрджрдЫред M3 рдорд╛ рд╕рдЮреНрдЪрд╛рд▓рдирд╣рд░реВ C рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рд╣реБрдиреН рдЬрд╕рдХрд╛ рддрд░реНрдХрд╣рд░реВ рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рди рджрд░реНрддрд╛рд╣рд░реВ рд╣реБрдиреН рдЬреБрди CPU рджрд░реНрддрд╛рд╣рд░реВрдорд╛ рдореНрдпрд╛рдк рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдЕрдиреБрдХреВрд▓рди рдЕрдкрд░реЗрд╢рдирд╣рд░реВрдХреЛ рдмрд╛рд░рдореНрдмрд╛рд░ рд╣реБрдиреЗ рдХреНрд░рдорд╣рд░реВ рд╕рд╛рд░рд╛рдВрд╢ рдЕрдкрд░реЗрд╢рдирд╣рд░реВрдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рд╣реБрдиреНрдЫрдиреНред

рдердк рд░реВрдкрдорд╛, рдпреЛ рдиреЛрдЯ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рдЕрдиреБрд╕рдиреНрдзрд╛рди рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╕рд╛рд░
рд╡реЗрдмрдорд╛ WebAssemblyред рдПрд▓реЗрдХреНрд╕рд╛ рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЕрдиреБрд╕рд╛рд░ рд╕рдмреИрднрдиреНрджрд╛ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рд╛рдЗрдЯрд╣рд░реВ рдордзреНрдпреЗ 948 рд╣рдЬрд╛рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкрдЫрд┐, рд╢реЛрдзрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдкрддреНрддрд╛ рд▓рдЧрд╛рдП рдХрд┐ WebAssembly 1639 рд╕рд╛рдЗрдЯрд╣рд░реВрдорд╛ (0.17%) рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЕрд░реНрдерд╛рддреНред рдкреНрд░рддреНрдпреЗрдХ 1 рд╕рд╛рдЗрдЯрд╣рд░реБ рдордзреНрдпреЗ 600 рдорд╛ред рдХреБрд▓рдорд╛, 1950 WebAssembly рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рд╕рд╛рдЗрдЯрд╣рд░реВрдорд╛ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░рд┐рдПрдХрд╛ рдерд┐рдП, рдЬрд╕рдордзреНрдпреЗ 150 рдЕрджреНрд╡рд┐рддреАрдп рдерд┐рдПред WebAssembly рдХреЛ рдкреНрд░рдпреЛрдЧрдХреЛ рджрд╛рдпрд░рд╛рд▓рд╛рдИ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрджрд╛, рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рдирд┐рд╖реНрдХрд░реНрд╖рд╣рд░реВ рдмрдирд╛рдЗрдпреЛ - 50% рднрдиреНрджрд╛ рдмрдвреА рдХреЗрд╕рд╣рд░реВрдорд╛, WebAssembly рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдЙрджреНрджреЗрд╢реНрдпрдХрд╛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЦрдирди рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░рдиреНрд╕реА (55.7%) рд░ рдорд╛рд▓рд┐рд╕рд┐рдпрд╕ рд▓рд┐рдкрд┐рд╣рд░реВрдХреЛ рдХреЛрдб рд▓реБрдХрд╛рдЙрди (0.2%)ред ред WebAssembly рдХреЛ рд╡реИрдз рдкреНрд░рдпреЛрдЧрд╣рд░реВ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВ (38.8%), рдЦреЗрд▓рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ (3.5%), рд░ рдЕрдиреБрдХреВрд▓рди рдЧреИрд░-рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб (0.9%) рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред 14.9% рдХреЗрд╕рд╣рд░реВрдорд╛, WebAssembly рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╣рд┐рдЪрд╛рди (рдлрд┐рдВрдЧрд░рдкреНрд░рд┐рдиреНрдЯрд┐рдЩ) рдХреЛ рд▓рд╛рдЧрд┐ рд╡рд╛рддрд╛рд╡рд░рдг рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред

wasm3 рдХреЛ рдкрд╣рд┐рд▓реЛ рд░рд┐рд▓реАрдЬ, рдПрдХ рдЫрд┐рдЯреЛ WebAssembly рдЕрдиреБрд╡рд╛рджрдХ

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди