Add GC.start(compact: true)
I have been working on integrating compaction in to the normal GC process (in other words, making compaction automatic). I was thinking about adding
GC.start(compact: true) (actually I put it in master without filing a ticket first, and I apologize for doing that).
Right now we use
GC.compact, but if compaction becomes part of the normal GC process, it probably makes more sense for the API to be
GC.start(compact: true) since that is the API most people use for kicking off a GC.
I am going to change the implementation of
GC.compact like this:
diff --git a/gc.rb b/gc.rb index 881b8659ce..583122db45 100644 --- a/gc.rb +++ b/gc.rb @@ -165,7 +165,8 @@ def self.latest_gc_info hash_or_key = nil end def self.compact - __builtin_rb_gc_compact + # last option runs compact. + __builtin_gc_start_internal true, true, true, true end # call-seq:
But this could be executed from
Should we add
GC.start(compact: true) and deprecate
GC.compact? I would still like to keep
GC.verify_compaction_references for debugging compaction problems (but maybe change the method name), but I don't know if we need to keep
No data to display