Stopwatch
in package
Секундомер на монотонном таймере.
Измеряет длительности независимо от перевода системных часов: hrtime()
гарантирует монотонность. Внутреннее состояние хранится в целых
наносекундах — деление до секунд происходит только на выдаче.
Поддерживает промежуточные отметки (круги) и повторную остановку
без потери результата.
Table of Contents
Methods
- elapsed() : TimeSpan
- Прошедшее время как длительность пакета.
- elapsedMilliseconds() : float
- Прошедшее время в миллисекундах.
- elapsedSeconds() : float
- Прошедшее время: до остановки — растёт, после — зафиксировано.
- isRunning() : bool
- Идёт ли отсчёт.
- lap() : float
- Зафиксировать круг: длительность с предыдущей отметки.
- laps() : array<int, array{label: string|null, seconds: float}>
- Зафиксированные круги в порядке добавления.
- measure() : float
- Замерить длительность выполнения колбэка.
- start() : self
- Запустить новый секундомер.
- stop() : float
- Остановить секундомер; повторная остановка возвращает прежний результат.
Methods
elapsed()
Прошедшее время как длительность пакета.
public
elapsed() : TimeSpan
Return values
TimeSpan —Прошедшее время как длительность пакета
elapsedMilliseconds()
Прошедшее время в миллисекундах.
public
elapsedMilliseconds() : float
Return values
float —Прошедшее время в миллисекундах
elapsedSeconds()
Прошедшее время: до остановки — растёт, после — зафиксировано.
public
elapsedSeconds() : float
Return values
float —Прошедшее время: до остановки — растёт, после — зафиксировано
isRunning()
Идёт ли отсчёт.
public
isRunning() : bool
Return values
bool —Идёт ли отсчёт
lap()
Зафиксировать круг: длительность с предыдущей отметки.
public
lap([string|null $label = null ]) : float
Parameters
- $label : string|null = null
-
необязательная метка круга
Return values
float —длительность круга в секундах
laps()
Зафиксированные круги в порядке добавления.
public
laps() : array<int, array{label: string|null, seconds: float}>
Return values
array<int, array{label: string|null, seconds: float}>measure()
Замерить длительность выполнения колбэка.
public
static measure(callable(): mixed $callback) : float
Замер на монотонном таймере; исключение колбэка пробрасывается как есть.
Parameters
- $callback : callable(): mixed
-
выполняемый код
Return values
float —длительность выполнения в секундах
start()
Запустить новый секундомер.
public
static start() : self
Return values
selfstop()
Остановить секундомер; повторная остановка возвращает прежний результат.
public
stop() : float
Return values
float —полная длительность в секундах