module Benchmark::Trend::Clock
def initialize
def initialize super() @last_time = Time.now.to_f @lock = Mutex.new end
def measure
-
(Float)-
def measure before = now yield after = now after - before end
def now
- Api: - private
def now Process.clock_gettime(Process::CLOCK_MONOTONIC) end
def now
- Api: - private
def now @lock.synchronize do current = Time.now.to_f if @last_time < current @last_time = current else # clock moved back in time @last_time += 0.000_001 end end end
def now
- Api: - public
Returns:
-
(Float)-
def now MONOTONIC_CLOCK.now end