class Benchmark::Perf::IPSResult
Constants
- NO_VALUE
Indicate no value
Attributes
ips[R]
iter[R]
Public Class Methods
new()
click to toggle source
Create storage for ips results
@api private
# File lib/benchmark/perf/ips_result.rb, line 18 def initialize @avg = NO_VALUE @stdev = NO_VALUE @dt = NO_VALUE @measurements = [] @ips = [] @iter = 0 end
Public Instance Methods
add(time_s, cycles_in_100ms)
click to toggle source
@api private
# File lib/benchmark/perf/ips_result.rb, line 28 def add(time_s, cycles_in_100ms) @measurements << time_s @iter += cycles_in_100ms @ips << cycles_in_100ms.to_f / time_s.to_f @avg = NO_VALUE @stdev = NO_VALUE @dt = NO_VALUE end
avg()
click to toggle source
Average ips
@return [Integer]
@api public
# File lib/benchmark/perf/ips_result.rb, line 42 def avg return @avg unless @avg == NO_VALUE @avg = Stats.average(ips).round end
dt()
click to toggle source
The time elapsed
@return [Float]
@api public
# File lib/benchmark/perf/ips_result.rb, line 64 def dt return @dt unless @dt == NO_VALUE @dt = @measurements.reduce(0, :+) end
Also aliased as: elapsed_time
inspect()
click to toggle source
A string representation of this instance
@api public
# File lib/benchmark/perf/ips_result.rb, line 80 def inspect "#<#{self.class.name} @avg=#{avg} @stdev=#{stdev} @iter=#{iter} @dt=#{dt}>" end
stdev()
click to toggle source
The ips standard deviation
@return [Integer]
@api public
# File lib/benchmark/perf/ips_result.rb, line 53 def stdev return @stdev unless @stdev == NO_VALUE @stdev = Stats.stdev(ips).round end
to_a()
click to toggle source
@api public
# File lib/benchmark/perf/ips_result.rb, line 72 def to_a [avg, stdev, iter, dt] end
Also aliased as: to_ary