Class: Splinter::DeferredGarbageCollection
- Inherits:
-
Object
- Object
- Splinter::DeferredGarbageCollection
- Defined in:
- lib/splinter/perf/deferred_garbage_collection.rb
Overview
Speed up specs by tweaking garbage collection
See:
https://signalvnoise.com/posts/2742-the-road-to-faster-tests and
https://makandracards.com/makandra/950-speed-up-rspec-by-deferring-garbage-collection
Constant Summary collapse
- DEFERRED_GC_THRESHOLD =
(ENV['DEFER_GC'] || 10.0).to_f
- @@last_gc_run =
Time.now
Class Method Summary collapse
Class Method Details
.reconsider ⇒ Object
17 18 19 20 21 22 23 24 |
# File 'lib/splinter/perf/deferred_garbage_collection.rb', line 17 def self.reconsider 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 |
.start ⇒ Object
13 14 15 |
# File 'lib/splinter/perf/deferred_garbage_collection.rb', line 13 def self.start GC.disable if DEFERRED_GC_THRESHOLD > 0 end |