wasm3 ، یک مفسر WebAssemble اولین نسخه خود را منتشر می کند

W3

اخیراً اولین نسخه از wasm3 منتشر شد، که هست یک مترجم بسیار سریع کد میانی توسط WebAssembleاز آنجا که در درجه اول برای اجرای برنامه های WebAssemble بر روی میکروکنترلرها و سیستم عامل هایی که هیچگونه اجرای JIT برای WebAssemble وجود ندارد ، طراحی شده است ، حافظه کافی برای کار با JIT یا ایجاد صفحات حافظه قابل اجرا برای اجرای JIT کافی نیست.

برای کسانی که با WebAssemble آشنا نیستند ، باید بدانید که این چنین است یک زبان سطح پایین ، در ابتدا هنگام کامپایل از C و C ++ به عنوان قالب هدف طراحی شده است ، اگرچه از کد منبع زبانهای دیگر مانند Rust و Go نیز پشتیبانی می کند. این قالب کد باینری قابل حمل برای اجرای کامل اسکریپت ها از مرورگر سمت مشتری استفاده می شود.

درباره wasm3

Wasm3 تست های سازگاری را پشت سر می گذارد با مشخصات WebAssemble 1.0 و می تواند برای اجرای بسیاری از برنامه های WASI استفاده شود ، عملکرد 4-5 برابر کمتر از موتورهای JIT و 11.5 برابر کمتر از اجرای کد محلی.

در مقایسه با سایر مجریان از WebAssemble (wac ، life ، wasm-micro-runtime) ، wasm3 15.8 برابر سریعتر بود.

Wasm3 به عنوان یک پروژه تحقیقاتی آغاز به کار کرد و از بسیاری جهات همچنان ادامه دارد. ارزیابی موتور در محیط های مختلف بخشی از تحقیقات است. از آنجا که ما Lua ، JS ، Python ، Lisp ، (...) را در MCU اجرا می کنیم ، WebAssemble در واقع یک گزینه امیدوار کننده است. این یک محیط کاملاً منزوی ، کاملاً مشخص و قابل پیش بینی را فراهم می کند. از جمله موارد استفاده عملی ، می توان محاسبات پیشرفته ، اسکریپت نویسی ، اجرای قاعده اینترنت اشیا ، قراردادهای بلاکچین و غیره را ذکر کرد.

واسم 3 به 64Kb حافظه برای کد و 10Kb RAM نیاز دارد ، شما چه هستید اجازه استفاده از پروژه را می دهد برای اجرای برنامه های کامپایل شده در WebAssemble در میکروکنترلرها مانند Arduino MKR * ، Arduino Due ، Particle Photon ، ESP8266 ، ESP32 ، Air602 (W600) ، nRF52 ، nRF51 قرص آبی (STM32F103C8T6) ، MXChip AZ3166 (EMW3166) ، Maix (K210) ، HiFive1 (E310) E40 (5) 1284 (EXNUMX) (EXNUMX) (EXNUMX) ، و همچنین در تابلوها و رایانه های مبتنی بر معماری x86 ، x64 ، ARM ، MIPS ، RISC-V و Xtens.

عملکرد بالا با استفاده از تکنیک Massey Meta Machine بدست می آید (M3) در مفسر ، برای کاهش سربار رمزگشایی بایت کد، کد بایت بصورت فعال ترجمه شده است در عملیات کارآمدتر که کد شبه ماشین تولید می کند و مدل اجرای ماشین مجازی انباشته شده کارآمدتر می شود عملیات تمرکز ثبت در M3 توابع C هستند که آرگومان های آنها ثبات های ماشین مجازی است که می تواند منعکس شود در رجیسترهای CPU.

گردش کار مکرر برای بهینه سازی به عملیات خلاصه تبدیل می شود.

علاوه بر این، نتایج تحقیق را می توان در WebAssemble در وب مشاهده کرد ، پس از تجزیه و تحلیل 948 هزار از محبوب ترین سایت های رتبه بندی شده توسط الکسا ، محققان دریافتند WebAssemble توسط 1639 سایت (0.17٪) استفاده می شود ، یعنی 1 در 600 سایت.

در کل ، وب سایت ها از وجود 1950 ماژول WebAssemble ، که 150 مورد منحصر به فرد هستند ، آشکار کردند.

هنگام بررسی دامنه WebAssemble ، نتایج ناامیدکننده ای به دست آمد: در بیش از 50٪ موارد ، از WebAssemble برای اهداف مخرب استفاده شد ، به عنوان مثال برای استخراج ارزهای رمزپایه (55,7٪) و مخفی کردن کد از اسکریپت های مخرب (0,2 ، XNUMX٪).

از سیستم عامل های پشتیبانی شده برای Wasm3 ، ما می توانیم لینوکس را پیدا کنیم از جمله روترهای مبتنی بر OpenWRT ، ویندوز ، macOS ، اندروید و iOS. همچنین برای اجرای مفسر در یک مرورگر یا برای میزبانی از خود می توان wasm3 را در کد میانی WebAssemble کامپایل کرد.

از کاربردهای مجاز WebAssemble ، اجرای کتابخانه (38.8٪) ، ایجاد بازی (3.5٪) و اجرای کد محلی غیر JavaScript (0.9٪) مشاهده شد. در 14,9٪ موارد ، از WebAssemble برای تجزیه و تحلیل محیط برای شناسایی کاربر (اثر انگشت) استفاده شد.

wasm3 را امتحان کنید

برای کسانی که علاقه مند به استفاده از این مفسر در سیستم خود هستند ، می تواند با اسناد و مدارک و همچنین کد پروژه مشورت کند که به زبان C نوشته شده و تحت مجوز MIT توزیع شده است ، در لینک زیر.


محتوای مقاله به اصول ما پیوست اخلاق تحریریه. برای گزارش یک خطا کلیک کنید اینجا.

اولین کسی باشید که نظر

نظر خود را بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند با *

*

*

  1. مسئول داده ها: میگل آنخل گاتون
  2. هدف از داده ها: کنترل هرزنامه ، مدیریت نظرات.
  3. مشروعیت: رضایت شما
  4. ارتباط داده ها: داده ها به اشخاص ثالث منتقل نمی شوند مگر با تعهد قانونی.
  5. ذخیره سازی داده ها: پایگاه داده به میزبانی شبکه های Occentus (EU)
  6. حقوق: در هر زمان می توانید اطلاعات خود را محدود ، بازیابی و حذف کنید.