LatticeHashForest
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
lhf::PerformanceStatistics Struct Reference

Utility class for enabling code-based profiling. More...

#include <profiling.hpp>

Collaboration diagram for lhf::PerformanceStatistics:
Collaboration graph
[legend]

Classes

struct  Duration
 

Public Types

using Count = uint64_t
 
using String = std::string
 
using TimePoint = std::chrono::steady_clock::time_point
 
template<typename K , typename V >
using Map = std::map< K, V >
 
using Mutex = std::mutex
 
using WriteLock = std::lock_guard< std::mutex >
 
using ThreadID = std::thread::id
 

Public Member Functions

Durationget_timer (const String &s)
 
void timer_start (const String &s)
 
void timer_end (const String &s)
 
Countget_counter (const String &s)
 
void inc_counter (const String &s)
 
String dump () const
 

Static Public Member Functions

static const ThreadID currthread ()
 

Public Attributes

std::mutex mutex
 
Map< String, Countcounters
 
Map< ThreadID, Map< String, Duration > > timers
 

Detailed Description

Utility class for enabling code-based profiling.

Definition at line 26 of file profiling.hpp.

Member Typedef Documentation

◆ Count

Definition at line 27 of file profiling.hpp.

◆ Map

template<typename K , typename V >
using lhf::PerformanceStatistics::Map = std::map<K, V>

Definition at line 30 of file profiling.hpp.

◆ Mutex

Definition at line 32 of file profiling.hpp.

◆ String

Definition at line 28 of file profiling.hpp.

◆ ThreadID

using lhf::PerformanceStatistics::ThreadID = std::thread::id

Definition at line 34 of file profiling.hpp.

◆ TimePoint

using lhf::PerformanceStatistics::TimePoint = std::chrono::steady_clock::time_point

Definition at line 29 of file profiling.hpp.

◆ WriteLock

using lhf::PerformanceStatistics::WriteLock = std::lock_guard<std::mutex>

Definition at line 33 of file profiling.hpp.

Member Function Documentation

◆ currthread()

static const ThreadID lhf::PerformanceStatistics::currthread ( )
inlinestatic

Definition at line 59 of file profiling.hpp.

◆ dump()

String lhf::PerformanceStatistics::dump ( ) const
inline

◆ get_counter()

Count & lhf::PerformanceStatistics::get_counter ( const String s)
inline

Definition at line 94 of file profiling.hpp.

Referenced by inc_counter().

◆ get_timer()

Duration & lhf::PerformanceStatistics::get_timer ( const String s)
inline

Definition at line 63 of file profiling.hpp.

Referenced by timer_end(), and timer_start().

◆ inc_counter()

void lhf::PerformanceStatistics::inc_counter ( const String s)
inline

Definition at line 102 of file profiling.hpp.

◆ timer_end()

void lhf::PerformanceStatistics::timer_end ( const String s)
inline

Definition at line 83 of file profiling.hpp.

Referenced by lhf::__CalcTime::~__CalcTime().

◆ timer_start()

void lhf::PerformanceStatistics::timer_start ( const String s)
inline

Definition at line 75 of file profiling.hpp.

Referenced by lhf::__CalcTime::__CalcTime().

Member Data Documentation

◆ counters

Map<String, Count> lhf::PerformanceStatistics::counters

Definition at line 54 of file profiling.hpp.

Referenced by dump(), and get_counter().

◆ mutex

std::mutex lhf::PerformanceStatistics::mutex

Definition at line 36 of file profiling.hpp.

Referenced by inc_counter(), timer_end(), and timer_start().

◆ timers

Map<ThreadID, Map<String, Duration> > lhf::PerformanceStatistics::timers

Definition at line 55 of file profiling.hpp.

Referenced by dump(), and get_timer().


The documentation for this struct was generated from the following file: