StopWatch

Timer for measuring small intervals, such as the duration of a subroutine or other reasonably small period.

StopWatch elapsed;

elapsed.start;

// do something
// ...

double i = elapsed.stop;

The measured interval is in units of seconds, using floating- point to represent fractions. This approach is more flexible than integer arithmetic since it migrates trivially to more capable timer hardware (there no implicit granularity to the measurable intervals, except the limits of fp representation)

StopWatch is accurate to the extent of what the underlying OS supports. On linux systems, this accuracy is typically 1 us at best. Win32 is generally more precise.

There is some minor overhead in using StopWatch, so take that into account

Members

Functions

start
void start()

Start the timer

stop
double stop()

Stop the timer and return elapsed duration since start()

Properties

microsec
ulong microsec [@property getter]

Return elapsed time since the last start() as microseconds

Meta