module Measuremerize
Constants
- VERSION
Public Class Methods
measure(no_gc_arg = false) { || ... }
click to toggle source
# File lib/measuremerize.rb, line 7 def self.measure(no_gc_arg = false, &block) no_gc = (ARGV[0] == '--no-gc') || no_gc_arg if no_gc GC.disable else GC.start end memory_before = Measuremerize.memory_used gc_stat_before = GC.stat time = Benchmark.realtime do yield end gc_stat_after = GC.stat GC.start unless no_gc memory_after = Measuremerize.memory_used result = Measuremerize.result(no_gc, time, gc_stat_before, gc_stat_after, memory_before, memory_after) puts result end
memory_used()
click to toggle source
# File lib/measuremerize.rb, line 29 def self.memory_used `ps -o rss= -p #{Process.pid}`.to_i/1024 end
Private Class Methods
result(no_gc, time, gc_stat_before, gc_stat_after, memory_before, memory_after)
click to toggle source
# File lib/measuremerize.rb, line 35 def self.result(no_gc, time, gc_stat_before, gc_stat_after, memory_before, memory_after) { RUBY_VERSION => { gc: no_gc ? 'disabled' : 'enabled', time: time.round(2), gc_count: gc_stat_after[:count] - gc_stat_before[:count], memory: "%dM" % (memory_after- memory_before) } } end