تم إصدار Wasmer 2.0 بالفعل ويأتي مع SIMD والتحسينات والمزيد

بعد ما يقرب من ستة أشهر من إطلاق النسخة الأولى، تم الإعلان عن إطلاق الإصدار الجديد من مشروع Wasmer ، والذي يعد في نسخته الرئيسية الثانية والتي تم فيها إجراء تغييرات مهمة لدرجة أن واجهات برمجة التطبيقات الداخلية في هذا الإصدار الثاني غير متوافقة ، على الرغم من إضافة ميزات جديدة تضيف تحسينات على الاستقرار والأمان والأداء.

لمن لا يعرفون Wasmer ، يجب أن تعلم أنه يطور وقت تشغيل لتنفيذ وحدات WebAssembly التي يمكن استخدامها لإنشاء تطبيقات عالمية يمكن تشغيلها على أنظمة تشغيل متعددة وتشغيل تعليمات برمجية غير موثوقة بمعزل عن غيرها.

يتم توفير إمكانية النقل عن طريق تجميع كود التطبيق في برمجية WebAssembly منخفضة المستوى يمكن تشغيله على أي نظام تشغيل أو دمجه في برامج بلغات برمجة أخرى. البرامج عبارة عن حاويات خفيفة الوزن تقوم بتشغيل WebAssembly الزائف.

هؤلاء الحاويات غير مرتبطة بنظام التشغيل ويمكن أن تتضمن كودًا مكتوبًا في الأصل بأي لغة برمجة. يمكن استخدام مجموعة أدوات Emscripten للترجمة إلى WebAssembly. لترجمة WebAssembly إلى رمز جهاز النظام الأساسي الحالي ، يتم دعم توصيل الخلفيات الخلفية المختلفة للبناء (Singlepass و Cranelift و LLVM) والمحركات (باستخدام JIT أو إنشاء رمز الجهاز).

يتم توفير التحكم في الوصول والتفاعل مع النظام من خلال واجهة برمجة تطبيقات WASI (واجهة نظام WebAssembly) ، والتي توفر واجهات برمجة للعمل مع الملفات والمآخذ والوظائف الأخرى التي يوفرها نظام التشغيل.

التطبيقات معزولة عن النظام الرئيسي ولديهم حق الوصول فقط إلى الوظيفة المعلنة (آلية الأمان على أساس قدرات الإدارة للإجراءات مع كل من الموارد (الملفات ، والأدلة ، والمآخذ ، واستدعاءات النظام ، وما إلى ذلك).

أهم المستجدات في Wasmer 2.0

في هذا الإصدار الجديد المقدم ، يذكر أن التغيير الكبير في رقم الإصدار بواسطة Wasmer يرتبط بإدخال تغييرات عدم التوافق إلى واجهة برمجة التطبيقات الداخلية ، والتي ، وفقًا للمطورين ، لن يؤثر على 99٪ من المستخدمين من المنصة بأي شكل من الأشكال.

هناك أيضًا تغيير في تنسيق وحدات Wasm المتسلسلة بين التغييرات الرئيسية في التوافق (الوحدات المسلسلة في Wasmer 1.0 لن تكون قابلة للاستخدام في Wasmer 2.0).

وبالإضافة إلى ذلك، يتم تمييز دعم تعليمات SIMD (تعليمات واحدة ، بيانات متعددة) أي السماح بالتوازي مع عمليات البيانات. تشمل المجالات التي يمكن أن يزيد فيها استخدام SIMD الإنتاجية بشكل كبير التعلم الآلي وترميز الفيديو وفك تشفيره ومعالجة الصور ومحاكاة العمليات المادية ومعالجة الرسومات.

أيضا يتم تمييز دعم أنواع المراجع ، السماح لوحدات Wasm بالوصول إلى المعلومات في وحدات أخرى أو في البيئة الأساسية وتم إجراء تحسينات كبيرة في الأداء. تمت زيادة سرعة وقت تشغيل LLVM بأرقام الفاصلة العائمة بحوالي 50٪.

تم تسريع استدعاءات الوظائف بشكل كبير عن طريق تقليل المواقف التي تتطلب مكالمات kernel. تم زيادة أداء مولد كود Cranelift بنسبة 40٪. تقليل وقت إلغاء تسلسل البيانات. لتعكس جوهر الموضوع بشكل أكثر دقة ، تم تغيير أسماء المحرك: JIT → Universal ، Native → Dylib (Dynamic Library) ، Object File → StaticLib (Static Library).

أخيرا إذا كنت مهتمًا بمعرفة المزيد عن Wasmer ، يجب أن تعلم أن كود المشروع مكتوب بلغة Rust ، ولديه ترخيص MIT ويمكنك التحقق من تفاصيله على موقعه الرسمي على الرابط التالي.

قم بتثبيت وقت تشغيل Wasmer

من ناحية أخرى ، بالنسبة لأولئك المهتمين بالقدرة على تشغيل حاوية WebAssembly ، ما عليك سوى تثبيت وقت تشغيل Wasmer على نظامك ، والذي يأتي بدون تبعيات خارجية.

من المهم ذكر ذلك يمكن تشغيل Wasmer على أي منصة macOS و Linux و Windows ، الشرط الوحيد هو أن يتم تثبيت وقت التشغيل على نظامك.

للقيام بذلك ، ما عليك سوى تشغيل الأمر التالي في Terminal:

curl https://get.wasmer.io -sSfL | sh

وبعد ذلك يجب عليهم تنفيذ الملف المطلوب:

wasmer test.wasm

إذا كنت بحاجة إلى معرفة المزيد حول كيفية عمل Wasmer أو تريد معرفة كود المصدر الخاص به ، فيمكنك الرجوع إلى كل ذلك في الرابط التالي.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: AB Internet Networks 2008 SL
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.