Module Brr.Time

module Time: sig .. end
Monotonic time.

Time span

type span = float 
The type for time spans, in seconds. FIXME move to ms.

Passing time

val elapsed : unit -> span
elapsed () is the number of seconds elapsed since the beginning of the program.

Tick events

val tick : span -> span Note.event
tick span is an event that occurs once in span seconds with the value span - span' where span' is the actual delay performed by the system.

Note. Since the system may introduce delays you cannot assume that two different calls to Brr.Time.tick will necessarily yield two non-simultaneous events.

val delay : span -> (unit -> unit) -> unit
delay span f calls f after span seconds.


type counter 
The type for time counters.
val counter : unit -> counter
counter () is a counter counting time from call time on.
val counter_value : counter -> span
counter_value c is the current counter value in seconds.

Pretty printing time

val pp_s : Format.formatter -> span -> unit
pp_s ppf s prints s seconds in seconds.
val pp_ms : Format.formatter -> span -> unit
pp_ms ppf s prints s seconds in milliseconds.
val pp_mus : Format.formatter -> span -> unit
pp_mus ppf s prints s seconds in microseconds.