Skip to content

Maintenance Ruby 3.3 gets fixes, but no new features. Switch to Ruby 4.0 →

class method

GC.compact

GC.compact

This function compacts objects together in Ruby’s heap. It eliminates unused space (or fragmentation) in the heap by moving objects in to that unused space. This function returns a hash which contains statistics about which objects were moved. See GC.latest_gc_info for details about compaction statistics.

This method is implementation specific and not expected to be implemented in any implementation besides MRI.

To test whether GC compaction is supported, use the idiom:

Example
GC.respond_to?(:compact)