Module: DrivingPhysics::Timer
- Defined in:
- lib/driving_physics/mruby.rb,
lib/driving_physics/timer.rb
Class Method Summary collapse
-
.display(seconds: 0, ms: 0) ⇒ Object
HH:MM:SS.mmm.
- .elapsed(&work) ⇒ Object
- .now ⇒ Object
- .since(t) ⇒ Object
- .summary(start, num_ticks, paused = 0) ⇒ Object
Class Method Details
.display(seconds: 0, ms: 0) ⇒ Object
HH:MM:SS.mmm
38 39 40 41 |
# File 'lib/driving_physics/mruby.rb', line 38 def self.display(seconds: 0, ms: 0) ms += (seconds * 1000).round if seconds > 0 DrivingPhysics.elapsed_display(ms) end |
.elapsed(&work) ⇒ Object
32 33 34 35 |
# File 'lib/driving_physics/mruby.rb', line 32 def self.elapsed(&work) t = self.now return yield, self.since(t) end |
.now ⇒ Object
24 25 26 |
# File 'lib/driving_physics/mruby.rb', line 24 def self.now Time.now end |
.since(t) ⇒ Object
28 29 30 |
# File 'lib/driving_physics/mruby.rb', line 28 def self.since(t) self.now - t end |
.summary(start, num_ticks, paused = 0) ⇒ Object
43 44 45 46 |
# File 'lib/driving_physics/mruby.rb', line 43 def self.summary(start, num_ticks, paused = 0) elapsed = self.since(start) - paused format("%.3f s (%d ticks/s)", elapsed, num_ticks.to_f / elapsed) end |