اولین انتشار wasm3، یک مترجم سریع WebAssembly

در دسترس چاپ اول wasm3، یک مفسر کد میانی WebAssembly بسیار سریع است که در درجه اول برای استفاده در اجرای برنامه های WebAssembly بر روی میکروکنترلرها و پلتفرم هایی که اجرای JIT برای WebAssembly ندارند، حافظه کافی برای اجرای JIT ندارند یا نمی توانند صفحات حافظه اجرایی مورد نیاز برای پیاده سازی JIT را ایجاد کنند در نظر گرفته شده است. . کد پروژه به زبان C و نوشته شده است توزیع شده توسط تحت مجوز MIT

Wasm3 پاس می دهد آزمایشات سازگار با مشخصات WebAssembly 1.0 است و می تواند برای اجرای بسیاری از برنامه های کاربردی WASI مورد استفاده قرار گیرد و عملکردی تنها 4 تا 5 برابر کمتر از موتورهای JIT ارائه دهد.بالابر, جرثقیل بالابر) و 11.5 برابر کمتر از اجرای کد بومی است. در مقایسه با سایر مفسران WebAssembly (wac, زندگی, wasm-micro-runtime، wasm3 15.8 برابر سریعتر بود.

برای اجرای wasm3 به 64 کیلوبایت حافظه کد و 10 کیلوبایت رم نیاز دارید که به شما امکان می دهد از پروژه برای اجرای برنامه های کامپایل شده در 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. سیستم عامل های پشتیبانی شده شامل لینوکس (شامل روترهای مبتنی بر OpenWRT)، ویندوز، macOS، اندروید و iOS است. همچنین امکان کامپایل wam3 در کد میانی WebAssembly برای اجرای مفسر در مرورگر یا اجرای تو در تو (خود میزبانی) وجود دارد.

عملکرد بالا با استفاده از فناوری در مترجم به دست می آید ماشین متا مسی (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

اضافه کردن نظر