module SimpleTimeMeasure

Constants

VERSION

Public Class Methods

included(base) click to toggle source
# File lib/simple_time_measure.rb, line 4
def self.included(base)
  self.base_singleton_class = base.singleton_class
  base.extend ClassMethods
end

Private Class Methods

base_singleton_class() click to toggle source
# File lib/simple_time_measure.rb, line 29
def self.base_singleton_class
  @base_singleton_class
end
base_singleton_class=(base_singleton_class) click to toggle source
# File lib/simple_time_measure.rb, line 33
def self.base_singleton_class=(base_singleton_class)
  @base_singleton_class = base_singleton_class
end
cpu_time() click to toggle source
# File lib/simple_time_measure.rb, line 11
def self.cpu_time
  Process.clock_gettime(Process::CLOCK_PROCESS_CPUTIME_ID, :microsecond)
end
time() { || ... } click to toggle source
# File lib/simple_time_measure.rb, line 19
def self.time
  cpu_time = SimpleTimeMeasure.cpu_time
  wall_time = SimpleTimeMeasure.wall_time
  yield
  cpu_time = SimpleTimeMeasure.cpu_time - cpu_time
  wall_time = SimpleTimeMeasure.wall_time - wall_time
  idle_time = wall_time - cpu_time
  { cpu_time: cpu_time, wall_time: wall_time, idle_time: idle_time }
end
wall_time() click to toggle source
# File lib/simple_time_measure.rb, line 15
def self.wall_time
  Process.clock_gettime(Process::CLOCK_MONOTONIC, :microsecond)
end