class Benchmark::IPS::Stats::SD
Attributes
error[R]
samples[R]
Public Class Methods
new(samples)
click to toggle 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
central_tendency()
click to toggle source
Average stat value @return [Float] central_tendency
# File lib/benchmark/ips/stats/sd.rb, line 17 def central_tendency @mean end
slowdown(baseline)
click to toggle source
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)
# 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
speedup(baseline)
click to toggle source
# File lib/benchmark/ips/stats/sd.rb, line 33 def speedup(baseline) baseline.slowdown(self) end