Class: Diagnostics::Sample::Result
- Inherits:
-
Object
- Object
- Diagnostics::Sample::Result
- Includes:
- Schema::DataStructure
- Defined in:
- lib/diagnostics/sample/result.rb
Instance Method Summary collapse
- #cycle(elapsed_time) ⇒ Object
- #cycles_per_second ⇒ Object
- #digest ⇒ Object (also: #to_s)
- #mean_cycle_time_milliseconds ⇒ Object
- #mean_warmup_time_milliseconds ⇒ Object
- #time_standard_deviation ⇒ Object (also: #standard_deviation)
- #warmup_cycle(elapsed_time) ⇒ Object
- #warmup_cycles_per_second ⇒ Object
- #warmup_time_standard_deviation ⇒ Object
Instance Method Details
#cycle(elapsed_time) ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/diagnostics/sample/result.rb', line 16 def cycle(elapsed_time) self.time_milliseconds += elapsed_time self.time_sum_squares += (elapsed_time ** 2) self.cycles += 1 end |
#cycles_per_second ⇒ Object
28 29 30 |
# File 'lib/diagnostics/sample/result.rb', line 28 def cycles_per_second cycles / (time_milliseconds / 1_000) end |
#digest ⇒ Object Also known as: to_s
61 62 63 64 65 66 67 68 69 |
# File 'lib/diagnostics/sample/result.rb', line 61 def digest <<~TEXT % [cycles, time_milliseconds, mean_cycle_time_milliseconds, standard_deviation, cycles_per_second, gc] Cycles: %d Time: %fms Mean Cycle Time: %fms (± %fms) Cycles Per Second: %f GC: #{gc ? 'on' : 'off'} TEXT end |
#mean_cycle_time_milliseconds ⇒ Object
24 25 26 |
# File 'lib/diagnostics/sample/result.rb', line 24 def mean_cycle_time_milliseconds time_milliseconds / cycles end |
#mean_warmup_time_milliseconds ⇒ Object
47 48 49 |
# File 'lib/diagnostics/sample/result.rb', line 47 def mean_warmup_time_milliseconds warmup_time_milliseconds / warmup_cycles end |
#time_standard_deviation ⇒ Object Also known as: standard_deviation
32 33 34 35 36 |
# File 'lib/diagnostics/sample/result.rb', line 32 def time_standard_deviation variance = (time_sum_squares / cycles) - (mean_cycle_time_milliseconds ** 2) Math.sqrt(variance) end |
#warmup_cycle(elapsed_time) ⇒ Object
39 40 41 42 43 44 45 |
# File 'lib/diagnostics/sample/result.rb', line 39 def warmup_cycle(elapsed_time) self.warmup_time_milliseconds += elapsed_time self.warmup_time_sum_squares += (elapsed_time ** 2) self.warmup_cycles += 1 end |
#warmup_cycles_per_second ⇒ Object
51 52 53 |
# File 'lib/diagnostics/sample/result.rb', line 51 def warmup_cycles_per_second warmup_cycles / (warmup_time_milliseconds / 1_000) end |
#warmup_time_standard_deviation ⇒ Object
55 56 57 58 59 |
# File 'lib/diagnostics/sample/result.rb', line 55 def warmup_time_standard_deviation variance = (warmup_time_sum_squares / warmup_cycles) - (mean_warmup_time_milliseconds ** 2) Math.sqrt(variance) end |