تعزيز أداء Ruby Ractor: معالجة اختناق `object_id`

2025-04-27

يعاني نموذج التزامن Ractor في Ruby من قيود الأداء بسبب الأقفال العالمية. تتعمق هذه المشاركة في اختناق الأداء الناجم عن طريقة `object_id`، الناتج عن خيارات التصميم التاريخية والتحسينات في جمع القمامة. من خلال تحسين تنفيذ `object_id`، وتخزينه مباشرة داخل الكائنات بدلاً من استخدام بحث في جدول هاش عالمي، يحسّن المؤلف أداء Ractor بشكل كبير، مما يؤدي إلى مضاعفة سرعة اختبارات الأداء في JSON. على الرغم من استمرار التحديات، مثل معالجة أنواع الكائنات الخاصة، إلا أن هذا العمل يمثل خطوة مهمة نحو جعل Ractors متوازية حقًا.

التطوير