Sha256: 167307a2c9bfa6150497647217443e1a78f4e0686756cdc5dffd039f1fd1f167
Contents?: true
Size: 1.46 KB
Versions: 1
Compression:
Stored size: 1.46 KB
Contents
# frozen_string_literal: true require_relative "stats" module Benchmark module Perf class CPUResult # Indicate no value NO_VALUE = Module.new # Create storage for ips results # # @api private def initialize @avg = NO_VALUE @stdev = NO_VALUE @dt = NO_VALUE @measurements = [] end # @api private def add(time_s) @measurements << time_s @avg = NO_VALUE @stdev = NO_VALUE @dt = NO_VALUE end alias << add # Average ips # # @return [Integer] # # @api public def avg return @avg unless @avg == NO_VALUE @avg = Stats.average(@measurements) end # The ips standard deviation # # @return [Integer] # # @api public def stdev return @stdev unless @stdev == NO_VALUE @stdev = Stats.stdev(@measurements) end # The time elapsed # # @return [Float] # # @api public def dt return @dt unless @dt == NO_VALUE @dt = @measurements.reduce(0, :+) end alias elapsed_time dt # @api public def to_a [avg, stdev, dt] end alias to_ary to_a # A string representation of this instance # # @api public def inspect "#<#{self.class.name} @avg=#{avg} @stdev=#{stdev} @dt=#{dt}>" end end # IPSResult end # Perf end # Benchmark
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
benchmark-perf-0.6.0 | lib/benchmark/perf/cpu_result.rb |