Sha256: 17c939a44a75e6038092b5be951a7732acbcedfa6ef836c20b16fc68f65888eb

Contents?: true

Size: 596 Bytes

Versions: 7

Compression:

Stored size: 596 Bytes

Contents

# frozen_string_literal: true

# https://stackoverflow.com/questions/10937366/find-a-list-of-slow-rspec-tests
# https://makandracards.com/makandra/950-speed-up-rspec-by-deferring-garbage-collection
class DeferredGarbageCollection
  DEFERRED_GC_THRESHOLD = (ENV['DEFER_GC'] || 10.0).to_f
  @@last_gc_run = Time.now

  def self.start
    GC.disable if DEFERRED_GC_THRESHOLD.positive?
  end

  def self.reconsider
    return unless DEFERRED_GC_THRESHOLD.positive? && Time.now - @@last_gc_run >= DEFERRED_GC_THRESHOLD

    GC.enable
    GC.start
    GC.disable
    @@last_gc_run = Time.now
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
kowl-0.0.7 lib/kowl/templates/tests/minitest/support/deferred_garbage_collection.rb
kowl-0.0.6 lib/kowl/templates/tests/minitest/support/deferred_garbage_collection.rb
kowl-0.0.5 lib/kowl/templates/tests/minitest/support/deferred_garbage_collection.rb
kowl-0.0.4 lib/kowl/templates/tests/minitest/support/deferred_garbage_collection.rb
kowl-0.0.3 lib/kowl/templates/tests/minitest/support/deferred_garbage_collection.rb
kowl-0.0.2 lib/kowl/templates/tests/minitest/support/deferred_garbage_collection.rb
kowl-0.0.1 lib/kowl/templates/tests/minitest/support/deferred_garbage_collection.rb