хурдан WebAssembly орчуулагч wasm3-ын анхны хувилбар

Боломжтой анхны хэвлэл байсан3, маш хурдан WebAssembly завсрын код тайлбарлагч нь WebAssembly-д зориулсан JIT хэрэгжүүлэлтгүй, JIT-г ажиллуулахад хангалттай санах ойгүй эсвэл JIT-г хэрэгжүүлэхэд шаардлагатай санах ойн хуудсыг үүсгэж чадахгүй микроконтроллерууд болон платформ дээр WebAssembly програмуудыг ажиллуулахад зориулагдсан. . Төслийн кодыг C хэл дээр бичсэн ба тараасан MIT лицензийн дагуу.

Wasm3 дамжуулдаг туршилтууд WebAssembly 1.0 техникийн үзүүлэлттэй нийцдэг бөгөөд олон WASI програмуудыг ажиллуулахад ашиглаж болох ба JIT хөдөлгүүрээс ердөө 4-5 дахин бага гүйцэтгэлтэй (өргөлт, кран өргөгч) ба үндсэн кодын гүйцэтгэлээс 11.5 дахин бага байна. Бусад WebAssembly орчуулагчтай харьцуулбал (вак, амьдрал, wasm-микро ажиллах хугацаа), wasm3 нь 15.8 дахин хурдан болсон.

Wasm3-ийг ажиллуулахын тулд танд 64Кб ​​кодын санах ой, 10Кб RAM хэрэгтэй бөгөөд энэ нь төслийг WebAssembly дээр хөрвүүлсэн програмуудыг ажиллуулах боломжийг олгодог. микроконтроллерууд, тухайлбал Arduino MKR*, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166),
Maix (K210), HiFive1 (E310), Fomu (ICE40UP5K) болон ATmega1284, түүнчлэн x86, x64, ARM, MIPS, RISC-V болон Xtensa архитектурт суурилсан самбар, компьютер дээр. Дэмжигдсэн үйлдлийн системүүд нь Linux (OpenWRT дээр суурилсан чиглүүлэгчийг оруулаад), Windows, macOS, Android болон iOS орно. Мөн орчуулагчийг хөтөч дээр ажиллуулах эсвэл үүрлэсэн гүйцэтгэлд (өөрийгөө байршуулах) WebAssembly завсрын код руу wasm3-ийг эмхэтгэх боломжтой.

Орчуулагчийн технологийг ашиглах замаар өндөр гүйцэтгэлд хүрдэг Масси Мета машин (M3) нь байт кодыг тайлах нэмэлт зардлыг багасгахын тулд байт кодыг илүү үр ашигтай псевдо машин код үүсгэх үйлдлүүд болгон шилжүүлж, стек дээр суурилсан виртуал машины гүйцэтгэлийн загварыг илүү үр дүнтэй бүртгэлд суурилсан арга болгон хувиргадаг. M3 дахь үйлдлүүд нь аргументууд нь CPU-ийн регистрүүдтэй таарч болох виртуал машины регистрүүд болох C функцууд юм. Оновчлолын үйлдлүүдийн байнга тохиолддог дарааллыг хураангуй үйлдэл болгон хувиргадаг.

Нэмж дурдахад үүнийг тэмдэглэж болно судалгааны үр дүн хуваарилалт
Вэб дээрх WebAssembly. Alexa үнэлгээний дагуу хамгийн алдартай 948 мянган сайтад дүн шинжилгээ хийсний дараа судлаачид WebAssembly-ийг 1639 (0.17%) сайтад ашигладаг болохыг тогтоожээ. 1 сайт тутмын 600-д. Нийтдээ 1950 WebAssembly модулийг сайтууд дээр татаж авснаас 150 нь өвөрмөц байв. WebAssembly-ийн хэрэглээний хамрах хүрээг авч үзэхэд сэтгэл дундуур дүгнэлт хийсэн - тохиолдлын 50 гаруй хувьд нь WebAssembly-ийг хортой зорилгоор, жишээлбэл, криптовалют олборлох (55.7%), хортой скриптийн кодыг нуух (0.2%) зэрэгт ашигласан байна. . WebAssembly-ийн хууль ёсны хэрэглээнд номын сан ажиллуулах (38.8%), тоглоом үүсгэх (3.5%), JavaScript бус тусгай кодыг ажиллуулах (0.9%) орно. Тохиолдлын 14.9% -д нь WebAssembly-ийг хэрэглэгчийн таних (хурууны хээ) орчинд дүн шинжилгээ хийхэд ашигласан.

хурдан WebAssembly орчуулагч wasm3-ын анхны хувилбар

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх