diff --git a/lib/benchmark.rb b/lib/benchmark.rb index bd3b072..9c42c23 100644 --- a/lib/benchmark.rb +++ b/lib/benchmark.rb @@ -290,9 +290,9 @@ module Benchmark # Returns the elapsed real time used to execute the given block. # def realtime # :yield: - r0 = Time.now + r0 = Process.clock_gettime(Process::CLOCK_MONOTONIC) yield - Time.now - r0 + Process.clock_gettime(Process::CLOCK_MONOTONIC) - r0 end module_function :benchmark, :measure, :realtime, :bm, :bmbm diff --git a/test/benchmark/test_benchmark.rb b/test/benchmark/test_benchmark.rb index b2239d4..7e9653d 100644 --- a/test/benchmark/test_benchmark.rb +++ b/test/benchmark/test_benchmark.rb @@ -152,4 +152,9 @@ BENCH t.add! { sleep 0.1 } assert_not_equal(0, t.real) end + + def test_realtime_output + realtime = Benchmark.realtime { sleep 0.001 } + assert_in_delta 0.001, realtime + end end