Spec-Zone.ru › Nim 1

monotimes

Модуль std/monotimes реализует монотонные временные метки. Монотонная временная метка представляет время, прошедшее с некоторой системной точки отсчета. Монотонные временные метки гарантированно всегда увеличиваются, что означает, что гарантируется следующее:

let a = getMonoTime()
# ... do some work
let b = getMonoTime()
assert a <= b

Это не гарантируется для типа times.Time! Это означает, что тип MonoTime следует использовать при измерении продолжительности времени с высокой точностью.

Однако, поскольку MonoTime представляет время, прошедшее с некоторого неизвестного начального момента времени, его нельзя преобразовать в удобочитаемую временную метку. Если это требуется, вместо этого следует использовать тип times.Time.

Тип MonoTime хранит временную метку с разрешением в наносекунды, но обратите внимание, что фактическое поддерживаемое разрешение времени отличается для разных систем.

См. также

  • Модуль times

Импорты

times, posix

Типы

MonoTime = object
  ticks: int64
Представляет монотонную временную метку. Исходный код Редактировать

Процедуры

proc getMonoTime(): MonoTime {...}{.tags: [TimeEffect], raises: [].}

Получение текущей временной метки MonoTime.

При компиляции с JS-бэкендом и выполнении в браузере эта процедура вызывает window.performance.now(), что не поддерживается более старыми браузерами. Подробнее см. MDN.

Исходный код Редактировать
proc ticks(t: MonoTime): int64 {...}{.raises: [], tags: [].}
Возвращает значение сырых тиков из MonoTime. Это значение всегда использует разрешение времени в наносекундах. Исходный код Редактировать
proc `$`(t: MonoTime): string {...}{.raises: [], tags: [].}
Исходный код Редактировать
proc `-`(a, b: MonoTime): Duration {...}{.raises: [], tags: [].}
Возвращает разницу между двумя временными метками MonoTime в виде Duration. Исходный код Редактировать
proc `+`(a: MonoTime; b: Duration): MonoTime {...}{.raises: [], tags: [].}
Увеличивает a на b. Исходный код Редактировать
proc `-`(a: MonoTime; b: Duration): MonoTime {...}{.raises: [], tags: [].}
Уменьшает a на b. Исходный код Редактировать
proc `<`(a, b: MonoTime): bool {...}{.raises: [], tags: [].}
Возвращает true, если a произошло до b. Исходный код Редактировать
proc `<=`(a, b: MonoTime): bool {...}{.raises: [], tags: [].}
Возвращает true, если a произошло до b или если они произошли одновременно. Исходный код Редактировать
proc `==`(a, b: MonoTime): bool {...}{.raises: [], tags: [].}
Возвращает true, если a и b произошли одновременно. Исходный код Редактировать
proc high(typ: typedesc[MonoTime]): MonoTime
Возвращает наибольшую представимую MonoTime. Исходный код Редактировать
proc low(typ: typedesc[MonoTime]): MonoTime
Возвращает наименьшую представимую MonoTime. Исходный код Редактировать

© 2006–2021 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/monotimes.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API