Adicione ao Gemfile em grupos de teste e desenvolvimento:
gem 'perftools.rb', require: 'perftools'
Na linha de comando:
$ time CPUPROFILE=~/tmp/prof CPUPROFILE_REALTIME=1 rspec
$ pprof.rb --text ~/tmp/prof | head -10
Em spec_helper.rb adicione:
# Quick hack to see what our peak number of objects on the heap is
heap_live_num = 0
config.after(:each) do
heap_live_num = [heap_live_num, GC.stat[:heap_live_num]].max
end
config.after(:suite) do
puts "nnMAX HEAP OBJECT COUNT: #{heap_live_num}"
end
Com base no ajuste de valor anterior:
export RUBY_HEAP_MIN_SLOTS=1500000
export RUBY_HEAP_FREE_MIN=20000
export RUBY_GC_MALLOC_LIMIT=100000000
Nota: você pode colocá-los em seu .bashrc
Créditos