type t = private Core_kernel.Int63.t
include Bin_prot.Binable.S with type t := t
include Bin_prot.Binable.S_only_functions with type t := t
val bin_size_t : t Bin_prot.Size.sizer
val bin_write_t : t Bin_prot.Write.writer
val bin_read_t : t Bin_prot.Read.reader
val __bin_read_t__ : (int -> t) Bin_prot.Read.reader
This function only needs implementation if t
exposed to be a polymorphic variant. Despite what the type reads, this does *not* produce a function after reading; instead it takes the constructor tag (int) before reading and reads the rest of the variant t
afterwards.
val bin_shape_t : Bin_prot.Shape.t
val bin_writer_t : t Bin_prot.Type_class.writer
val bin_reader_t : t Bin_prot.Type_class.reader
val bin_t : t Bin_prot.Type_class.t
include Ppx_sexp_conv_lib.Sexpable.S with type t := t
val t_of_sexp : Sexplib0.Sexp.t -> t
val sexp_of_t : t -> Sexplib0.Sexp.t
include Core_kernel.Comparisons.S with type t := t
compare t1 t2
returns 0 if t1
is equal to t2
, a negative integer if t1
is less than t2
, and a positive integer if t1
is greater than t2
.
module Calibrator : sig ... end with type Calibrator.tsc := t
A calibrator contains a snapshot of machine-specific information that is used to convert between TSC values and clock time. This information needs to be calibrated periodically such that it stays updated w.r.t. changes in the CPU's time-stamp-counter frequency, which can vary depending on load, heat, etc. (Also see the comment in the .ml
file.)
module Span : sig ... end
Span
indicates some integer number of cycles.
val now : unit -> t
val to_int63 : t -> Core_kernel.Int63.t
val zero : t
val calibrator : Calibrator.t Core_kernel.Lazy.t
A default calibrator for the current process. Most programs can just use this calibrator; use others if collecting data from other processes / machines.
The first time this lazy value is forced, it spends approximately 3ms calibrating.
While the Async
scheduler is running, this value is recalibrated regularly.
val to_time : t -> calibrator:Calibrator.t -> Core_kernel.Time.t
It is guaranteed that repeated calls will return nondecreasing Time.t
values.
val to_time_ns : t -> calibrator:Calibrator.t -> Core_kernel.Time_ns.t