timemory 3.3.0
Modular C++ Toolkit for Performance Analysis and Logging. Profiling API and Tools for C, C++, CUDA, Fortran, and Python. The C++ template API is essentially a framework to creating tools: it is designed to provide a unifying interface for recording various performance measurements alongside data logging and interfaces to other tools.
node.hpp File Reference
#include "timemory/backends/process.hpp"
#include "timemory/backends/threading.hpp"
#include "timemory/data/statistics.hpp"
#include "timemory/hash.hpp"
#include "timemory/mpl/type_traits.hpp"
#include "timemory/mpl/types.hpp"
#include "timemory/operations/types/decode.hpp"
#include "timemory/storage/types.hpp"
#include "timemory/tpls/cereal/archives.hpp"
#include <cstdint>
#include <set>
#include <string>
#include <tuple>
#include <vector>
+ Include dependency graph for node.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  tim::node::entry< Tp, StatT >
 This data type is used in tim::node::tree for inclusive and exclusive values. More...
 
struct  tim::node::data< Tp >
 
struct  tim::node::graph< Tp >
 This is the compact representation of a measurement in the call-graph. More...
 
struct  tim::node::result< Tp >
 This data type is used when rendering the flat representation (i.e. loop-iterable) representation of the calling-context. The prefix here will be identical to the prefix in the text output. More...
 
struct  tim::node::tree< Tp >
 This data type is used when rendering the hierarchical representation (i.e. requires recursion) representation of the calling-context. The prefix here has no decoration. More...
 
struct  tim::cereal::specialize< Archive, tim::node::graph< Tp >, cereal::specialization::non_member_load_save >
 
struct  tim::cereal::specialize< Archive, tim::node::entry< Tp, StatT >, cereal::specialization::non_member_load_save >
 
struct  tim::cereal::specialize< Archive, tim::node::tree< Tp >, cereal::specialization::non_member_load_save >
 
struct  tim::cereal::specialize< Archive, tim::node::result< Tp >, cereal::specialization::non_member_load_save >
 

Namespaces

namespace  tim
 
namespace  tim::operation
 
namespace  tim::node
 
namespace  tim::cereal
 

Functions

template<typename Archive , typename Tp >
void tim::cereal::save (Archive &ar, const tim::node::graph< Tp > &d)
 
template<typename Archive , typename Tp >
void tim::cereal::load (Archive &ar, tim::node::graph< Tp > &d)
 
template<typename Archive , typename Tp , typename StatT >
void tim::cereal::save (Archive &ar, const tim::node::entry< Tp, StatT > &e)
 
template<typename Archive , typename Tp , typename StatT >
void tim::cereal::load (Archive &ar, tim::node::entry< Tp, StatT > &e)
 
template<typename Archive , typename Tp >
void tim::cereal::save (Archive &ar, const tim::node::tree< Tp > &t)
 
template<typename Archive , typename Tp >
void tim::cereal::load (Archive &ar, tim::node::tree< Tp > &t)
 
template<typename Archive , typename Tp >
void tim::cereal::save (Archive &ar, const tim::node::result< Tp > &r)
 
template<typename Archive , typename Tp >
void tim::cereal::load (Archive &ar, tim::node::result< Tp > &r)
 
template<typename Archive , typename Tp >
void tim::cereal::save (Archive &ar, const std::vector< tim::node::result< Tp > > &result_nodes)
 
template<typename Archive , typename Tp >
void tim::cereal::load (Archive &ar, std::vector< tim::node::result< Tp > > &result_nodes)
 

Class Documentation

◆ tim::node::data

struct tim::node::data
template<typename Tp>
struct tim::node::data< Tp >

Definition at line 113 of file node.hpp.

+ Collaboration diagram for tim::node::data< Tp >:
Class Members
typedef entry< Tp, stats_type > entry_type
typedef set< int64_t > idset_type
typedef tuple< bool, uint32_t, uint32_t, uint64_t, int64_t, Tp, stats_type > node_type
typedef tuple< uint32_t, uint32_t, int64_t, uint64_t, uint64_t, string_t, uintvector_t, Tp, stats_type > result_type
typedef record_statistics< Tp, type > stats_policy
typedef typename statistics_type stats_type
typedef string string_t
typedef vector< string_t > strvector_t
typedef tuple< bool, uint64_t, int64_t, idset_type, idset_type, entry_type, entry_type > tree_type
typedef typename type type
typedef vector< uint64_t > uintvector_t

◆ tim::cereal::specialize< Archive, tim::node::graph< Tp >, cereal::specialization::non_member_load_save >

struct tim::cereal::specialize< Archive, tim::node::graph< Tp >, cereal::specialization::non_member_load_save >
template<typename Archive, typename Tp>
struct tim::cereal::specialize< Archive, tim::node::graph< Tp >, cereal::specialization::non_member_load_save >

Definition at line 535 of file node.hpp.

+ Collaboration diagram for tim::cereal::specialize< Archive, tim::node::graph< Tp >, cereal::specialization::non_member_load_save >:

◆ tim::cereal::specialize< Archive, tim::node::entry< Tp, StatT >, cereal::specialization::non_member_load_save >

struct tim::cereal::specialize< Archive, tim::node::entry< Tp, StatT >, cereal::specialization::non_member_load_save >
template<typename Archive, typename Tp, typename StatT>
struct tim::cereal::specialize< Archive, tim::node::entry< Tp, StatT >, cereal::specialization::non_member_load_save >

Definition at line 562 of file node.hpp.

+ Collaboration diagram for tim::cereal::specialize< Archive, tim::node::entry< Tp, StatT >, cereal::specialization::non_member_load_save >:

◆ tim::cereal::specialize< Archive, tim::node::tree< Tp >, cereal::specialization::non_member_load_save >

struct tim::cereal::specialize< Archive, tim::node::tree< Tp >, cereal::specialization::non_member_load_save >
template<typename Archive, typename Tp>
struct tim::cereal::specialize< Archive, tim::node::tree< Tp >, cereal::specialization::non_member_load_save >

Definition at line 601 of file node.hpp.

+ Collaboration diagram for tim::cereal::specialize< Archive, tim::node::tree< Tp >, cereal::specialization::non_member_load_save >:

◆ tim::cereal::specialize< Archive, tim::node::result< Tp >, cereal::specialization::non_member_load_save >

struct tim::cereal::specialize< Archive, tim::node::result< Tp >, cereal::specialization::non_member_load_save >
template<typename Archive, typename Tp>
struct tim::cereal::specialize< Archive, tim::node::result< Tp >, cereal::specialization::non_member_load_save >

Definition at line 674 of file node.hpp.

+ Collaboration diagram for tim::cereal::specialize< Archive, tim::node::result< Tp >, cereal::specialization::non_member_load_save >: