8#include "unfair_mutex.hpp"
15class time_stamp_count;
24 static const bool is_steady =
false;
62 static inline
std::atomic<
bool> subsystem_is_running = false;
63 static inline
std::jthread subsystem_thread;
67 static void subsystem_proc_frequency_calibration(std::stop_token stop_token)
noexcept;
68 static void subsystem_proc(std::stop_token stop_token)
noexcept;
72 static bool init_subsystem() noexcept;
76 static
void deinit_subsystem() noexcept;
78 [[nodiscard]] static
size_t find_cpu_id(uint32_t cpu_id) noexcept;
92std::
string format_iso8601(
hires_utc_clock::time_point utc_timestamp,
std::chrono::time_zone const *time_zone =
nullptr) noexcept;
Timestamp.
Definition hires_utc_clock.hpp:19
static bool start_subsystem() noexcept
This will start the calibration subsystem.
static time_point make(time_stamp_count const &tsc) noexcept
Make a time point from a time stamp count.
static time_point now() noexcept
Get the current time.
static void stop_subsystem() noexcept
This will stop the calibration subsystem.
static void adjust_for_drift() noexcept
A calibration step which will drift the per-cpu tsc-offset.
Since Window's 10 QueryPerformanceCounter() counts at only 10MHz which is too low to measure performa...
Definition time_stamp_count.hpp:29