/usr/lib/ruby/vendor_ruby/benchmark/timing.rb is in ruby-benchmark-ips 1.2.0+git.20130609.e47e416-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | 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
|