تدير Ruby الذاكرة تلقائياً عبر مجمِّع القمامة (GC) الذي يعيد استخدام الكائنات التي لا تحتفظ بها أي مراجع. يستخدم Ruby الحديث (MRI) مجمِّع mark-and-sweep تدريجياً وموزعاً على أجيال مع إمكانية الضغط. فهم هذه الآلية يساعدك على تحسين الأداء وتشخيص مشاكل الذاكرة في التطبيقات طويلة الأمد.
جمع القمامة التلقائي
Ruby allocates objects on the heap; the GC reclaims those that are no longer REACHABLE
(referenced). You never free memory manually.
Modern MRI GC characteristics:
✓ Mark-and-sweep — marks reachable objects (from roots), sweeps unreachable ones
✓ Generational (since Ruby 2.1) — new objects collected often, old ones rarely
(based on "most objects die young")
✓ Incremental — spreads GC work to reduce pause times
✓ Compacting (GC.compact, Ruby 2.7+) — reduces memory fragmentation
