libjmmcg  release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
hp_timer.hpp File Reference
#include "info.hpp"
#include "thread_api_traits.hpp"
#include "thread_params_traits.hpp"
#include "boost/date_time/posix_time/posix_time_types.hpp"
#include <numeric>
#include <chrono>
#include <thread>
Include dependency graph for hp_timer.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  jmmcg::LIBJMMCG_VER_NAMESPACE::hp_interval< T >
 Measure a time interval via RAII. More...
 
class  jmmcg::LIBJMMCG_VER_NAMESPACE::cpu_timer::out_of_order
 Measure a time interval using the CPU instruction RDTSC. More...
 
class  jmmcg::LIBJMMCG_VER_NAMESPACE::cpu_timer::in_order
 Measure a time interval using derivatives of the CPU instruction RDTSC. More...
 
struct  jmmcg::LIBJMMCG_VER_NAMESPACE::cpu_timer::private_::ticks_per_microsec_details
 

Namespaces

namespace  jmmcg
 Link with -lrt to include these functions.
 
namespace  jmmcg::LIBJMMCG_VER_NAMESPACE
 
namespace  jmmcg::LIBJMMCG_VER_NAMESPACE::cpu_timer
 Use the TSC timer to measure intervals.
 
namespace  jmmcg::LIBJMMCG_VER_NAMESPACE::cpu_timer::private_
 

Typedefs

using jmmcg::LIBJMMCG_VER_NAMESPACE::cpu_timer::element_type = std::uint64_t
 

Functions

std::ostream & jmmcg::LIBJMMCG_VER_NAMESPACE::cpu_timer::private_::operator<< (std::ostream &s, ticks_per_microsec_details const &tpm)
 
ticks_per_microsec_details jmmcg::LIBJMMCG_VER_NAMESPACE::cpu_timer::private_::get_mean_ticks_per_microsec () noexcept(false)
 
double jmmcg::LIBJMMCG_VER_NAMESPACE::cpu_timer::TSC_to_microsec (element_type ticks) noexcept(true)
 
boost::posix_time::ptime jmmcg::LIBJMMCG_VER_NAMESPACE::cpu_timer::TSC_to_UTC (element_type ticks) noexcept(true)
 
double jmmcg::LIBJMMCG_VER_NAMESPACE::cpu_timer::pause_for_usec (double delay) noexcept(true)
 Busy wait for a certain period. More...