Class: Benchmark::Driver::DurationRunner
- Inherits:
-
Object
- Object
- Benchmark::Driver::DurationRunner
- Defined in:
- lib/benchmark/driver/duration_runner.rb
Instance Method Summary collapse
-
#initialize(job) ⇒ DurationRunner
constructor
A new instance of DurationRunner.
- #run(seconds:, unit_iters:, runner:) ⇒ Benchmark::Driver::BenchmarkResult
Constructor Details
#initialize(job) ⇒ DurationRunner
3 4 5 |
# File 'lib/benchmark/driver/duration_runner.rb', line 3 def initialize(job) @job = job end |
Instance Method Details
#run(seconds:, unit_iters:, runner:) ⇒ Benchmark::Driver::BenchmarkResult
11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/benchmark/driver/duration_runner.rb', line 11 def run(seconds:, unit_iters:, runner:) real_time = 0.0 iterations = 0 unit_iters = unit_iters.to_i benchmark_until = Benchmark::Driver::Time.now + seconds while Benchmark::Driver::Time.now < benchmark_until real_time += runner.call(@job, unit_iters) iterations += unit_iters end Benchmark::Driver::BenchmarkResult.new(@job, iterations, real_time) end |