Sha256: b224d7e5a417256099d705d503da202217927675cf85aba38b30ec9806308c3e
Contents?: true
Size: 1.3 KB
Versions: 4
Compression:
Stored size: 1.3 KB
Contents
require 'whysoslow/measurement' require 'whysoslow/memory_profile' module Whysoslow class Results attr_reader :desc def initialize(desc, time_unit, memory_unit) @desc = desc @measurement = Measurement.new(time_unit) @memory_profile = MemoryProfile.new(memory_unit) end def benchmark(*args, &block) @measurement.benchmark(*args, &block) end def snapshot(*args) @memory_profile.snapshot(*args) end def snapshots @snapshots ||= @memory_profile.snapshots end def snapshot_units @memory_profile.units end def snapshot_labels snapshots.collect{|s| s.label } end def snapshot_usages snapshots.collect{|s| s.memory } end def snapshot_diffs prev = nil snapshots.inject([]) do |diffs, snapshot| if prev.nil? || prev.memory == 0 diffs << ['??', '??'] else diff = snapshot.memory - prev.memory diffs << [ diff, diff.to_f / prev.memory.to_f ] end prev = snapshot diffs end end def measurements @measurements ||= Measurement::MEASUREMENTS.collect do |m| [m, @measurement.send(m)] end end def measurement_units @measurement.units end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
whysoslow-1.0.1 | lib/whysoslow/results.rb |
whysoslow-1.0.0 | lib/whysoslow/results.rb |
whysoslow-0.0.2 | lib/whysoslow/results.rb |
whysoslow-0.0.1 | lib/whysoslow/results.rb |