class Benchmark::IPS::Stats::Bootstrap
Attributes
data[R]
Public Class Methods
new(samples, confidence)
click to toggle source
# File lib/benchmark/ips/stats/bootstrap.rb, line 9 def initialize(samples, confidence) dependencies @iterations = 10_000 @confidence = (confidence / 100.0).to_s @data = Kalibera::Data.new({[0] => samples}, [1, samples.size]) interval = @data.bootstrap_confidence_interval(@iterations, @confidence) @median = interval.median @error = interval.error end
Public Instance Methods
central_tendency()
click to toggle source
# File lib/benchmark/ips/stats/bootstrap.rb, line 19 def central_tendency @median end
dependencies()
click to toggle source
# File lib/benchmark/ips/stats/bootstrap.rb, line 37 def dependencies require 'kalibera' rescue LoadError puts puts "Can't load the kalibera gem - this is required to use the :bootstrap stats options." puts "It's optional, so we don't formally depend on it and it isn't installed along with benchmark-ips." puts "You probably want to do something like 'gem install kalibera' to fix this." abort end
error()
click to toggle source
# File lib/benchmark/ips/stats/bootstrap.rb, line 23 def error @error end
slowdown(baseline)
click to toggle source
# File lib/benchmark/ips/stats/bootstrap.rb, line 27 def slowdown(baseline) low, slowdown, high = baseline.data.bootstrap_quotient(@data, @iterations, @confidence) error = Timing.mean([slowdown - low, high - slowdown]) [slowdown, error] end