class Grntest::BaseResult

Attributes

cpu_elapsed_time[RW]
real_elapsed_time[RW]

Public Class Methods

new() click to toggle source
# File lib/grntest/base-result.rb, line 20
def initialize
  @cpu_elapsed_time = 0
  @real_elapsed_time = 0
end

Public Instance Methods

measure() { || ... } click to toggle source
# File lib/grntest/base-result.rb, line 25
def measure
  cpu_start_time = Process.times
  real_start_time = Process.clock_gettime(Process::CLOCK_MONOTONIC)
  yield
ensure
  cpu_finish_time = Process.times
  real_finish_time = Process.clock_gettime(Process::CLOCK_MONOTONIC)
  @cpu_elapsed_time +=
    (cpu_finish_time.utime - cpu_start_time.utime) +
    (cpu_finish_time.stime - cpu_start_time.stime) +
    (cpu_finish_time.cutime - cpu_start_time.cutime) +
    (cpu_finish_time.cstime - cpu_start_time.cstime)
  @real_elapsed_time += real_finish_time - real_start_time
end