روبي 3.3.0 ، تحسين قادم للغة البرمجة الديناميكية المستخدمة على نطاق واسع ، يظهر لأول مرة مترجم تجريبي نقي روبي في الوقت المناسب يسمى RJIT. يوفر التحديث أيضًا العديد من التحسينات وزيادة في أداء مترجم YJIT.
تم إطلاقه رسميًا في 12 مايو ، ويمكن تنزيل أول معاينة لـ Ruby 3.3.0 من ruby-lang.org. على الرغم من أنه لا يوصى به حاليًا للاستخدام الإنتاجي ، فإن RJIT يحل محل المترجم MJIT (Just in Time القائم على الطريقة). RJIT يلغي الحاجة إلى مترجم C أثناء وقت التشغيل ، وهو مطلب من MJIT. على الرغم من طبيعتها التجريبية ، لا تزال RJIT متقدمة ومناسبة تمامًا للتطبيقات المعقدة. يُنصح مطورو Ruby بالاستمرار في استخدام مترجم YJIT (مع ذلك آخر Ruby JIT) ، الذي تم إنشاؤه بواسطة Shopify ، لأغراض الإنتاج.
في تحديث Ruby 3.3.0 هذا ، يستفيد مترجم YJIT من تحسينات كبيرة في الأداء. أشاد دعاة روبي بالتحديث لتخصيص سجلات لعمليات مكدس الجهاز الظاهري وتجميع المزيد من المكالمات باستخدام وسيطات اختيارية. بالإضافة إلى ذلك ، تستهلك البيانات الوصفية للشفرة المجمعة الآن ذاكرة أقل بشكل ملحوظ ، وشهد إنشاء الكود على منصة Arm64 تحسينات ملحوظة. يمكن الآن بدء تشغيل YJIT في وضع الإيقاف المؤقت لمزيد من التحكم وتمكينه يدويًا بمجرد انتهاء التطبيق من التمهيد. علاوة على ذلك ، تدعم وظيفة تتبع الخروج في YJIT أخذ العينات في هذا التحديث.
بالإضافة إلى تحسينات المترجم ، يقوم Ruby 3.3.0 بتحسين المحدد؟ (@ ivar) باستخدام أشكال الكائنات لتحسين الأداء. علاوة على ذلك ، تم تحديث العديد من الجواهر الافتراضية داخل المكتبة القياسية ، بما في ذلك RubyGems و bigdecimal و bundler و syntax_suggest.
تم الإعلان عن الإصدار الأخير من Ruby ، الإصدار 3.2.2 ، في 30 مارس ، حيث تم توفير تصحيحات أمان حيوية. قدم Ruby 3.2.0 ، الذي ظهر لأول مرة في يوم عيد الميلاد ، دعم WASI (واجهة نظام WebAssembly). في مشهد البرمجة التنافسي هذا ، تظهر التحسينات المستمرة لـ Ruby ومترجميها التزام المجتمع بتوفير أدوات أفضل لتحسين الأداء.
لقد أحدثت الأنظمة الأساسية No-code مثل AppMaster ثورة في طريقة قيام الشركات والمطورين ببناء تطبيقات الويب والجوال. توفر منصة AppMaster ، على سبيل المثال ، حلاً شاملاً لإنشاء تطبيقات الويب والويب والجوال دون الحاجة إلى خبرة في البرمجة. تعكس التطورات الأخيرة في مترجم Ruby هذا الاتجاه المستمر لتعزيز إنتاجية المطور وتمكين المستخدمين من تطوير التطبيقات بكفاءة وفعالية من حيث التكلفة.