1#ifndef KMP_STATS_TIMING_H
2#define KMP_STATS_TIMING_H
20#if KMP_HAVE_X86INTRIN_H
36 double seconds()
const;
55#if KMP_HAVE___BUILTIN_READCYCLECOUNTER
57 : my_count(static_cast<int64_t>(__builtin_readcyclecounter())) {}
61#error Must have high resolution timer defined
66 return my_count > other.my_count ? (*this) : other;
69 return my_count < other.my_count ? (*this) : other;
72 static double tick_time();
100inline double tsc_tick_count::tsc_interval_t::seconds()
const {
101 return value * tick_time();
105extern std::string
formatSI(
double interval,
int width,
char unit);
108 return formatSI(interval, width,
'S');
112 return formatSI(interval, width,
'T');
tsc_interval_t & operator=(int64_t nvalue)
friend tsc_interval_t & operator+=(tsc_tick_count::tsc_interval_t &i1, const tsc_tick_count::tsc_interval_t &i0)
friend tsc_interval_t operator-(const tsc_tick_count &t1, const tsc_tick_count &t0)
static tsc_tick_count now()
tsc_tick_count later(tsc_tick_count const other) const
friend tsc_tick_count::tsc_interval_t operator-(const tsc_tick_count &t1, const tsc_tick_count &t0)
tsc_tick_count(int64_t value)
tsc_tick_count earlier(tsc_tick_count const other) const
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long value
KMP_ARCH_X86 KMP_ARCH_X86 long double
std::string formatTicks(double interval, int width)
tsc_tick_count::tsc_interval_t operator-(const tsc_tick_count &t1, const tsc_tick_count &t0)
std::string formatSeconds(double interval, int width)
tsc_tick_count::tsc_interval_t & operator+=(tsc_tick_count::tsc_interval_t &i1, const tsc_tick_count::tsc_interval_t &i0)
std::string formatSI(double interval, int width, char unit)