Sha256: b3f62013aed9dd1ba3a627a418f2c3451cf43a5d599d07dc00501714b9490ebc

Contents?: true

Size: 546 Bytes

Versions: 4

Compression:

Stored size: 546 Bytes

Contents

java_import 'java.lang.System'

module Timing
  def self.start
    TimingContext.new
  end

  class TimingContext
    def initialize
      reset!
    end

    def reset!
      @start = @last_tick = System.nano_time
    end

    def tick
      rt = runtime_since(@last_tick)
      @last_tick = System.nano_time
      rt
    end

    def stop
      rt = runtime_since(@start)
      reset!
      rt
    end

    private

    def runtime_since(start)
      rt = System.nano_time - start
      rt = rt.to_f / 1_000_000_000
      rt
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
liquid-ext-2.0.3 lib/liquid/timing.rb
liquid-ext-2.0.2 lib/liquid/timing.rb
liquid-ext-2.0.1 lib/liquid/timing.rb
liquid-ext-2.0.0 lib/liquid/timing.rb