FastMM documentation
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
Loading...
Searching...
No Matches
fastmm::ClockReadings Struct Reference

Clock readings used by TscCalibrator. More...

#include <fastmm/core/time.hpp>

Public Attributes

std::uint64_t(* tsc )() noexcept = nullptr
 
std::int64_t(* realtime_ns )() noexcept = nullptr
 
std::int64_t(* monotonic_raw_ns )() noexcept = nullptr
 
bool check_invariant_tsc = true
 false for injected clocks
 
TscKind assumed_kind = TscKind::Invariant
 injected clocks (check_invariant_tsc false)
 

Detailed Description

Clock readings used by TscCalibrator.

Plain function pointers so tests can inject a deterministic clock; system_clock_readings() reads rdtsc, CLOCK_REALTIME and CLOCK_MONOTONIC_RAW.

Member Data Documentation

◆ tsc

std::uint64_t(* fastmm::ClockReadings::tsc) () noexcept = nullptr
noexcept

◆ realtime_ns

std::int64_t(* fastmm::ClockReadings::realtime_ns) () noexcept = nullptr
noexcept

◆ monotonic_raw_ns

std::int64_t(* fastmm::ClockReadings::monotonic_raw_ns) () noexcept = nullptr
noexcept

◆ check_invariant_tsc

bool fastmm::ClockReadings::check_invariant_tsc = true

false for injected clocks

◆ assumed_kind

TscKind fastmm::ClockReadings::assumed_kind = TscKind::Invariant

injected clocks (check_invariant_tsc false)