Time events with std::chrono
The std::chrono
library provides tools for measuring and reporting time and intervals.
Many of these classes and functions were introduced with C++11. There have been significant changes and updates for C++20, but at the time of writing, many of those updates are not yet implemented on the systems I've tested.
Using the chrono
library, this recipe explores techniques for timing events.
How to do it…
The system_clock
class is used for reporting the current date and time. The steady_clock
and high_resolution_clock
classes are used for timing events. Let's look at the differences between these clocks:
- Because these names can be long and unwieldy, we'll use some type aliases throughout this recipe:
using std::chrono::system_clock; using std::chrono::steady_clock; using std::chrono::high_resolution_clock; using std::chrono::duration; using seconds = duration<double>; using milliseconds = duration<double, std...