module Bench::Stats
Public Class Methods
format_percent(p)
click to toggle source
# File lib/bench9000/stats.rb, line 35 def self.format_percent(p) "#{(p * 100).round(2)}%" end
mean(samples)
click to toggle source
# File lib/bench9000/stats.rb, line 17 def self.mean(samples) sum(samples) / samples.size end
range(samples)
click to toggle source
# File lib/bench9000/stats.rb, line 31 def self.range(samples) samples.max - samples.min end
sample_variance(samples)
click to toggle source
# File lib/bench9000/stats.rb, line 21 def self.sample_variance(samples) m = mean(samples) sum = samples.inject(0) { |a, i| a + (i - m)**2 } sum / (samples.length - 1).to_f end
standard_deviation(samples)
click to toggle source
# File lib/bench9000/stats.rb, line 27 def self.standard_deviation(samples) Math.sqrt(sample_variance(samples)) end
sum(samples)
click to toggle source
# File lib/bench9000/stats.rb, line 13 def self.sum(samples) samples.inject(0, :+) end