Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save deivinsontejeda/5646745 to your computer and use it in GitHub Desktop.
Save deivinsontejeda/5646745 to your computer and use it in GitHub Desktop.
# delay the GC - usage as below
# Spec::Runner.configure do |config|
.....
# config.before(:each) do
# begin_gc_deferment
# end
# config.after(:each) do
# reconsider_gc_deferment
# end
#end
DEFERRED_GC_THRESHOLD = (ENV['DEFER_GC'] || 1.0).to_f
@@last_gc_run = Time.now
def begin_gc_deferment
GC.disable if DEFERRED_GC_THRESHOLD > 0
end
def reconsider_gc_deferment
if DEFERRED_GC_THRESHOLD > 0 && Time.now - @@last_gc_run >= DEFERRED_GC_THRESHOLD
GC.enable
GC.start
GC.disable
@@last_gc_run = Time.now
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment