std.datetime.stopwatch

Module containing some basic benchmarking and timing functionality.

For convenience, this module publicly imports core.time.

CategoryFunctions
Main functionalityStopWatch benchmark
FlagsAutoStart

Unlike the other modules in std.datetime, this module is not currently publicly imported in std.datetime.package, because the old versions of this functionality which use core.time.TickDuration are in std.datetime.package and would conflict with the symbols in this module. After the old symbols have gone through the deprecation cycle and have been fully removed, then this module will be publicly imported in std.datetime.package. The old, deprecated symbols has been removed from the documentation in December 2019 and currently scheduled to be fully removed from Phobos after 2.094.

So, for now, when using std.datetime.stopwatch, if other modules from std.datetime are needed, then either import them individually rather than importing std.datetime, or use selective or static imports to import std.datetime.stopwatch. e.g.

import std.datetime;
import std.datetime.stopwatch : benchmark, StopWatch;

The compiler will then know to use the symbols from std.datetime.stopwatch rather than the deprecated ones from std.datetime.package.

Public Imports

core.time
public import core.time;
Undocumented in source.

Members

Aliases

AutoStart
alias AutoStart = Flag!"autoStart"

Used by StopWatch to indicate whether it should start immediately upon construction.

Functions

benchmark
Duration[fun.length] benchmark(uint n)

Benchmarks code for speed assessment and comparison.

Structs

StopWatch
struct StopWatch

StopWatch is used to measure time just like one would do with a physical stopwatch, including stopping, restarting, and/or resetting it.

Meta

Authors

Jonathan M Davis and Kato Shoichi