module FartCpuPing
FartCpuPing — local CPU micro-benchmark for !fart footer (nanosecond timing). Public: sample_ns, format_ns Depends: (none) Tests: test/lib/fart_cpu_ping_test.rb, test/plugins/fart_test.rb
Constants
- DEFAULT_SAMPLES
Public Instance Methods
Source
# File lib/fart_cpu_ping.rb, line 29 def default_clock -> { Process.clock_gettime(Process::CLOCK_MONOTONIC, :nanosecond) } end
Source
# File lib/fart_cpu_ping.rb, line 23 def format_ns(ns) return nil if ns.nil? "#{ns}ns" end
Source
# File lib/fart_cpu_ping.rb, line 13 def sample_ns(samples: DEFAULT_SAMPLES, clock: default_clock, work: default_work) deltas = Array.new(samples) do start = clock.call work.call finish = clock.call finish - start end deltas.min end