Sha256: 9dbf5c0e05ef9222a31c09c80b225c626eeb97fb9e5f0fedc5c94d43ba16cc22
Contents?: true
Size: 643 Bytes
Versions: 2
Compression:
Stored size: 643 Bytes
Contents
require 'compsci' module CompSci::Timer # lifted from seattlerb/minitest if defined? Process::CLOCK_MONOTONIC def self.now Process.clock_gettime Process::CLOCK_MONOTONIC end else def self.now Time.now end end def self.since(t) self.now - t end def self.elapsed(&work) t = self.now return yield, self.since(t) end def self.loop_average(count: 999, seconds: 1, &work) i = 0 start = self.now val = nil loop { val = yield i += 1 break if i >= count break if self.since(start) > seconds } return val, self.since(start) / i.to_f end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
compsci-0.0.2.1 | lib/compsci/timer.rb |
compsci-0.0.1.1 | lib/compsci/timer.rb |