تسريع واجهة الدالة الخارجية (FFI) في CRuby باستخدام التجميع في الوقت المناسب (JIT)

2025-02-12
تسريع واجهة الدالة الخارجية (FFI) في CRuby باستخدام التجميع في الوقت المناسب (JIT)

تتناول هذه المقالة استخدام التجميع في الوقت المناسب (JIT) لتحسين أداء واجهة الدالة الخارجية (FFI) في روبي. تُظهر الاختبارات المقارنة عيوب أداء FFI مقارنةً بالامتدادات الأصلية. يقدم الكاتب حلاً يُسمى FJIT، وهو عبارة عن حل يستخدم RJIT وإنشاء رمز آلة مخصص لإنشاء رمز آلة وقت التشغيل لتنفيذ الدوال الخارجية، متجاوزًا بذلك عبء FFI. يتفوق FJIT على الامتدادات الأصلية في الاختبارات، مما يوفر بديلاً عالي الأداء لمطوري روبي. يعتبر FJIT حاليًا نموذجًا أوليًا يدعم فقط ARM64، ولكن يتوقع الكاتب توسيعه في المستقبل ليشمل بنى أخرى ودوال أكثر تعقيدًا.

التطوير