class Benchmark::IPS::Report::Entry
Represents benchmarking code data for Report
.
Attributes
Number of Iterations. @return [Integer] number of iterations.
Label of entry. @return [String] the label of entry.
Number of Cycles. @return [Integer] number of cycles.
Measured time in microsecond. @return [Integer] number of microseconds.
Statistical summary of samples. @return [Object] statisical summary.
Public Class Methods
Source
# File lib/benchmark/ips/report.rb, line 18 def initialize(label, us, iters, stats, cycles) @label = label @microseconds = us @iterations = iters @stats = stats @measurement_cycle = cycles @show_total_time = false end
Instantiate the Benchmark::IPS::Report::Entry
. @param [#to_s] label Label of entry. @param [Integer] us Measured time in microsecond. @param [Integer] iters Iterations. @param [Object] stats Statistics. @param [Integer] cycles Number of Cycles.
Public Instance Methods
Source
# File lib/benchmark/ips/report.rb, line 88 def body case Benchmark::IPS.options[:format] when :human left = "%s (±%4.1f%%) i/s" % [Helpers.scale(@stats.central_tendency), @stats.error_percentage] iters = Helpers.scale(@iterations) if @show_total_time left.ljust(20) + (" - %s in %10.6fs" % [iters, runtime]) else left.ljust(20) + (" - %s" % iters) end else left = "%10.1f (±%.1f%%) i/s" % [@stats.central_tendency, @stats.error_percentage] if @show_total_time left.ljust(20) + (" - %10d in %10.6fs" % [@iterations, runtime]) else left.ljust(20) + (" - %10d" % @iterations) end end end
Return Entry
body text with left padding. Body text contains information of iteration per second with percentage of standard deviation, iterations in runtime. @return [String] Left justified body.
Source
# File lib/benchmark/ips/report.rb, line 123 def display $stdout.puts to_s end
Print entry to current standard output ($stdout).
Source
# File lib/benchmark/ips/report.rb, line 78 def error_percentage @stats.error_percentage end
Return entry’s standard deviation of iteration per second in percentage. @return [Float] +@ips_sd+ in percentage.
Source
# File lib/benchmark/ips/report.rb, line 112 def header @label.to_s.rjust(20) end
Return header with padding if +@label+ is < length of 20. @return [String] Right justified header (+@label+).
Source
# File lib/benchmark/ips/report.rb, line 45 def ips @stats.central_tendency end
LEGACY: Iterations per second. @return [Float] number of iterations per second.
Source
# File lib/benchmark/ips/report.rb, line 51 def ips_sd @stats.error end
LEGACY: Standard deviation of iteration per second. @return [Float] standard deviation of iteration per second.
Source
# File lib/benchmark/ips/report.rb, line 72 def seconds @microseconds.to_f / 1_000_000.0 end
Return entry’s microseconds in seconds. @return [Float] +@microseconds+ in seconds.
Source
# File lib/benchmark/ips/report.rb, line 66 def show_total_time! @show_total_time = true end
Control if the total time the job took is reported. Typically this value is not significant because it’s very close to the expected time, so it’s supressed by default.