Loading [MathJax]/extensions/tex2jax.js
Go to the documentation of this file.
14 # error "<Gaudi/Timers/RdtscClock.h> is only supported on x86"
15 #endif // not __x86_64__
21 #include <x86intrin.h>
36 template <
typename Precision = std::chrono::microseconds>
40 typedef typename Precision::rep
rep;
41 typedef typename Precision::period
period;
48 static_assert( period::num == 1,
"The Precision of RdtscClock must be reducible to 1/N" );
50 "The Precision of RdtscClock must be at least std::chrono::milliseconds" );
76 auto dt_ref = std::chrono::duration_cast<std::chrono::milliseconds>( t2_ref - t1_ref ).count();
static time_point now() noexcept
std::chrono::duration< rep, period > duration
std::chrono::time_point< RdtscClock > time_point
static constexpr bool is_steady
A std::chrono compatible Clock using rdtsc as its timing source.
Header file for std:chrono::duration-based Counters.
static rep ticks_per_unit() noexcept
static rep calibrate() noexcept
Calibrate the RDTSC clock against wall time.
static rep do_calibrate() noexcept
TemplatedAlg< int, std::vector< std::string > > t1