sig
  type t = Realtime | Monotonic | Process_cpu | Process_thread
  val all : Posix_clock.t list
  val to_string : Posix_clock.t -> string
  val getres : (Posix_clock.t -> Core.Std.Int63.t) Core.Std.Or_error.t
  val gettime : (Posix_clock.t -> Core.Std.Int63.t) Core.Std.Or_error.t
  val min_interval : (Posix_clock.t -> Core.Std.Int63.t) Core.Std.Or_error.t
  val mean_gettime_cost :
    (measure:Posix_clock.t -> using:Posix_clock.t -> Core.Std.Int63.t)
    Core.Std.Or_error.t
  module Time_stamp_counter :
    sig
      type t
      val rdtsc : unit -> Posix_clock.Time_stamp_counter.t
      val rdtscp : unit -> Posix_clock.Time_stamp_counter.t
      val diff :
        Posix_clock.Time_stamp_counter.t ->
        Posix_clock.Time_stamp_counter.t -> int
    end
end