Sha256: d5b02bfc82d08bc03a86f89a30cd663b9472b462157b67aea96a666c9411545e
Contents?: true
Size: 786 Bytes
Versions: 3
Compression:
Stored size: 786 Bytes
Contents
module Benchmark module Timing def self.mean(samples) sum = samples.inject(0) { |acc, i| acc + i } sum / samples.size end def self.variance(samples, m=nil) m ||= mean(samples) total = samples.inject(0) { |acc, i| acc + ((i - m) ** 2) } total / samples.size end def self.stddev(samples, m=nil) Math.sqrt variance(samples, m) end def self.resample_mean(samples, resample_times=100) resamples = [] resample_times.times do resample = samples.map { samples[rand(samples.size)] } resamples << Timing.mean(resample) end resamples end def self.clean_env # rbx if GC.respond_to? :run GC.run(true) else GC.start end end end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
benchmark-ips-2.0.0 | lib/benchmark/timing.rb |
motion-benchmark-ips-1.0 | lib/project/timing.rb |
benchmark-ips-1.2.0 | lib/benchmark/timing.rb |