Ruby خودکار طریقے سے گاربیج کلیکٹر (GC) کے ذریعے میموری منظم کرتا ہے جو ایسی چیزوں کو صاف کرتا ہے جن کا کوئی حوالہ نہیں رہا۔ جدید Ruby (MRI) generational، incremental mark-and-sweep کلیکٹر استعمال کرتا ہے جس میں compaction ہے۔ اس کو سمجھنا performance اور long-running applications میں میموری کے مسائل کی تشخیص میں مددگار ہے۔
خودکار گاربیج کلیکشن
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
