Sha256: 82b4661fdd58b47c48d33bd8d716263ee04f781644e107fffd74cca569559473
Contents?: true
Size: 670 Bytes
Versions: 17
Compression:
Stored size: 670 Bytes
Contents
require "logger" class Logger class Benchmarker attr :msg, true attr :severity, true def initialize(msg, severity = :warn) @msg, @start = msg, Time.now @severity = severity end def runtime Time.now - @start end def to_s "#{msg}: #{(runtime * 1000).to_i} msecs" end end def benchmark(msg = "Benchmark", opts = {}, &block) benchmarker = Benchmarker.new(msg, opts[:severity] || :warn) yield(benchmarker).tap do self.send(benchmarker.severity, benchmarker.to_s) if benchmarker.runtime > (opts[:minimum] || -1) end rescue warn "FAIL #{benchmarker}" raise end end
Version data entries
17 entries across 17 versions & 2 rubygems