class Drnbench::PublishSubscribe::ProgressiveRunner
Attributes
total_results[R]
Public Class Methods
new(config)
click to toggle source
# File lib/drnbench/publish-subscribe/progressive-runner.rb, line 24 def initialize(config) @config = config @runner = Runner.new(@config) end
Public Instance Methods
run()
click to toggle source
# File lib/drnbench/publish-subscribe/progressive-runner.rb, line 29 def run results = [] @runner.setup begin @config.n_steps.times do run_once(results) end ensure @runner.teardown end @total_results = [ ["case", "qps"], ] @total_results += results end
Private Instance Methods
run_once(results)
click to toggle source
# File lib/drnbench/publish-subscribe/progressive-runner.rb, line 46 def run_once(results) @runner.increase_subscribers label = "#{@runner.n_subscribers} subscribers" GC.disable result = Benchmark.bm do |benchmark| benchmark.report(label) do @runner.run end end GC.enable GC.start result = result.join("").strip.gsub(/[()]/, "").split(/\s+/) qps = @config.n_publishings.to_f / result.last.to_f if @config.report_progressively puts " (#{qps} queries per second)" end results << [label, qps] end