Sha256: 6e2fea54265bcc844f4484cd0b4257cfada6493c73323ea3c767b70ca1f73d95
Contents?: true
Size: 692 Bytes
Versions: 4
Compression:
Stored size: 692 Bytes
Contents
module CompSci module 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_avg(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 end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
compsci-0.3.1.1 | lib/compsci/timer.rb |
compsci-0.3.0.1 | lib/compsci/timer.rb |
compsci-0.2.0.1 | lib/compsci/timer.rb |
compsci-0.1.1.1 | lib/compsci/timer.rb |