{"size": 836, "ext": "scrbl", "max_stars_repo_path": "monotonic.scrbl", "max_stars_repo_name": "Bogdanp/racket-monotonic", "max_stars_repo_stars_event_min_datetime": "2020-02-12T20:23:19.000Z", "max_stars_repo_stars_event_max_datetime": "2020-09-30T09:08:01.000Z", "max_issues_repo_path": "monotonic.scrbl", "max_issues_repo_name": "Bogdanp/racket-monotonic", "max_issues_repo_issues_event_min_datetime": null, "max_issues_repo_issues_event_max_datetime": null, "max_forks_repo_path": "monotonic.scrbl", "max_forks_repo_name": "Bogdanp/racket-monotonic", "max_forks_repo_forks_event_min_datetime": null, "max_forks_repo_forks_event_max_datetime": null}
{"max_stars_count": 2, "max_issues_count": null, "max_forks_count": null, "avg_line_length": 32.1538461538, "max_line_length": 77, "alphanum_fraction": 0.7655502392}
#lang scribble/manual

@(require (for-label monotonic
                     racket/base))

@title{@exec{monotonic}: monotonic clock for Racket}
@author[(author+email "Bogdan Popa" "bogdan@defn.io")]
@defmodule[monotonic]

This module provides a monotonic clock on POSIX systems that support
@exec{CLOCK_MONOTONIC}, macOS and 64bit Windows.

@defparam[current-monotonic-nanoseconds nanotime exact-nonnegative-integer?]{
  A monotonically-increasing value in nanoseconds since some
  unspecified time in the past.
}

@defproc[(nanotime) exact-nonnegative-integer?]{
  Returns a monotonically-increasing value in nanoseconds since some
  unspecified time in the past.

  Use this over the parameter if you need absolutely minimal overhead.
  It is 1.5x to 2x slower than @racket[current-inexact-milliseconds]
  depending on the platform.
}
