class Benchmark::IPS::Stats::SD
Attributes
Public Class Methods
Source
# File lib/benchmark/ips/stats/sd.rb, line 9 def initialize(samples) @samples = samples @mean = Timing.mean(samples) @error = Timing.stddev(samples, @mean).round end
Public Instance Methods
Source
# File lib/benchmark/ips/stats/sd.rb, line 17 def central_tendency @mean end
Average stat value @return [Float] central_tendency
Source
# File lib/benchmark/ips/stats/sd.rb, line 25 def slowdown(baseline) if baseline.central_tendency > central_tendency [baseline.central_tendency.to_f / central_tendency, 0] else [central_tendency.to_f / baseline.central_tendency, 0] end end
Determines how much slower this stat is than the baseline stat if this average is lower than the faster baseline, higher average is better (e.g. ips) (calculate accordingly) @param baseline [SD|Bootstrap] faster baseline @returns [Array<Float, nil>] the slowdown and the error (not calculated for standard deviation)
Source
# File lib/benchmark/ips/stats/sd.rb, line 33 def speedup(baseline) baseline.slowdown(self) end