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.
|
Classes | |
struct | user_components |
Typedefs | |
template<int I> | |
using | make_int_sequence = std::make_integer_sequence< int, I > |
template<int... Ints> | |
using | int_sequence = std::integer_sequence< int, Ints... > |
using | component_match_set_t = std::set< std::string > |
using | component_match_vector_t = std::vector< bool(*)(const char *)> |
using | component_match_index_t = std::vector< TIMEMORY_COMPONENT > |
using | opaque_pair_t = std::pair< component::opaque, std::set< size_t > > |
Functions | |
template<typename Tools , typename Func , typename... Args, typename Ret = std::result_of_t<Func(Args...)>, std::enable_if_t<!std::is_same< Ret, void >::value, int > = 0> | |
Ret | invoke (string_view_t &&label, Func &&func, Args &&... args) |
template<int I, int V, typename... Args> | |
enable_if_t< component::enumerator< I >::value &&I !=V, void > | do_enumerator_generate (std::vector< opaque_pair_t > &opaque_array, int idx, Args &&... args) |
template<int I, int V, typename... Args> | |
enable_if_t<!component::enumerator< I >::value||I==V, void > | do_enumerator_generate (std::vector< opaque_pair_t > &, int, Args &&...) |
template<int I, typename Tp , typename... Args> | |
enable_if_t< component::enumerator< I >::value, void > | do_enumerator_init (Tp &obj, int idx, Args &&... args) |
template<int I, typename Tp , typename... Args> | |
enable_if_t<!component::enumerator< I >::value, void > | do_enumerator_init (Tp &, int, Args &&...) |
template<int I> | |
void | do_enumerator_enumerate (component_match_vector_t &_vec, component_match_index_t &_idx, component_match_set_t &_set) |
template<typename Tp , int... Ints, typename... Args> | |
void | enumerator_init (Tp &obj, int idx, int_sequence< Ints... >, Args &&... args) |
template<typename Tp , int... Ints, typename... Args> | |
void | enumerator_insert (Tp &obj, int idx, int_sequence< Ints... >, Args &&... args) |
template<typename Tp , int... Ints, typename... Args> | |
void | enumerator_configure (int idx, int_sequence< Ints... >, Args &&... args) |
template<typename Tp , int... Ints, typename... Args> | |
void | enumerator_configure (Tp &obj, int idx, int_sequence< Ints... >, Args &&... args) |
template<int... Ints> | |
void | enumerator_enumerate (component_match_vector_t &_vec, component_match_index_t &_idx, component_match_set_t &_set, int_sequence< Ints... >) |
template<typename Tp , typename Arg , typename... Args> | |
void | initialize (Tp &obj, int idx, Arg &&arg, Args &&... args) |
template<typename Tp , typename Arg , typename... Args> | |
void | insert (Tp &obj, int idx, Arg &&arg, Args &&... args) |
template<typename Tp , typename Arg , typename... Args> | |
void | configure (int idx, Arg &&arg, Args &&... args) |
template<typename Tp , typename Arg , typename... Args> | |
void | configure (Tp &obj, int idx, Arg &&arg, Args &&... args) |
int | enumerate (const std::string &key) |
int | enumerate (const char *key) |
template<typename Tp > | |
void | initialize (Tp &obj, int idx) |
template<typename Tp > | |
void | insert (Tp &obj, int idx) |
template<typename Tp > | |
void | configure (int idx) |
template<typename Tp > | |
void | configure (Tp &obj, int idx) |
template<typename Tp > | |
void | insert (Tp &obj, int idx, scope::config _scope) |
template<typename Tp > | |
void | configure (int idx, scope::config _scope) |
template<typename Tp > | |
void | configure (Tp &obj, int idx, scope::config _scope) |
template<typename Tp , typename Arg , typename... Args> | |
void | initialize (Tp &obj, int idx, Arg &&, Args &&...) |
template<typename Tp , typename Arg , typename... Args> | |
void | insert (Tp &obj, int idx, Arg &&, Args &&...) |
struct tim::runtime::user_components |
Definition at line 36 of file callbacks.hpp.
Class Members | ||
---|---|---|
typedef map< int, set< string > > | enum_key_map_t |
using tim::runtime::component_match_index_t = typedef std::vector<TIMEMORY_COMPONENT> |
Definition at line 58 of file properties.hpp.
using tim::runtime::component_match_set_t = typedef std::set<std::string> |
Definition at line 56 of file properties.hpp.
using tim::runtime::component_match_vector_t = typedef std::vector<bool (*)(const char*)> |
Definition at line 57 of file properties.hpp.
using tim::runtime::int_sequence = typedef std::integer_sequence<int, Ints...> |
Definition at line 55 of file properties.hpp.
using tim::runtime::make_int_sequence = typedef std::make_integer_sequence<int, I> |
Definition at line 53 of file properties.hpp.
using tim::runtime::opaque_pair_t = typedef std::pair<component::opaque, std::set<size_t> > |
Definition at line 59 of file properties.hpp.
void tim::runtime::configure | ( | int | idx | ) |
Definition at line 332 of file properties.hpp.
void tim::runtime::configure | ( | int | idx, |
Arg && | arg, | ||
Args &&... | args | ||
) |
Definition at line 239 of file properties.hpp.
void tim::runtime::configure | ( | int | idx, |
scope::config | _scope | ||
) |
Definition at line 359 of file properties.hpp.
void tim::runtime::configure | ( | Tp & | obj, |
int | idx | ||
) |
Definition at line 341 of file properties.hpp.
References enumerator_configure().
void tim::runtime::configure | ( | Tp & | obj, |
int | idx, | ||
Arg && | arg, | ||
Args &&... | args | ||
) |
void tim::runtime::configure | ( | Tp & | obj, |
int | idx, | ||
scope::config | _scope | ||
) |
Definition at line 368 of file properties.hpp.
References enumerator_configure().
Referenced by enumerator_configure().
|
inline |
Definition at line 124 of file properties.hpp.
References tim::component::properties< Tp >::id(), and IF_CONSTEXPR.
enable_if_t<!component::enumerator< I >::value||I==V, void > tim::runtime::do_enumerator_generate | ( | std::vector< opaque_pair_t > & | , |
int | , | ||
Args && | ... | ||
) |
Definition at line 91 of file properties.hpp.
enable_if_t< component::enumerator< I >::value &&I !=V, void > tim::runtime::do_enumerator_generate | ( | std::vector< opaque_pair_t > & | opaque_array, |
int | idx, | ||
Args &&... | args | ||
) |
enable_if_t<!component::enumerator< I >::value, void > tim::runtime::do_enumerator_init | ( | Tp & | , |
int | , | ||
Args && | ... | ||
) |
Definition at line 117 of file properties.hpp.
enable_if_t< component::enumerator< I >::value, void > tim::runtime::do_enumerator_init | ( | Tp & | obj, |
int | idx, | ||
Args &&... | args | ||
) |
Definition at line 102 of file properties.hpp.
References IF_CONSTEXPR.
|
inline |
|
inline |
Definition at line 258 of file properties.hpp.
References enumerator_enumerate(), TIMEMORY_COMPONENTS_END, and tim::settings::tolower().
Referenced by enumerate(), and tim::enumerate_components().
void tim::runtime::enumerator_configure | ( | int | idx, |
int_sequence< Ints... > | , | ||
Args &&... | args | ||
) |
Definition at line 177 of file properties.hpp.
References configure(), and TIMEMORY_FOLD_EXPRESSION.
Referenced by configure().
void tim::runtime::enumerator_configure | ( | Tp & | obj, |
int | idx, | ||
int_sequence< Ints... > | , | ||
Args &&... | args | ||
) |
void tim::runtime::enumerator_enumerate | ( | component_match_vector_t & | _vec, |
component_match_index_t & | _idx, | ||
component_match_set_t & | _set, | ||
int_sequence< Ints... > | |||
) |
Definition at line 205 of file properties.hpp.
References TIMEMORY_FOLD_EXPRESSION.
Referenced by enumerate().
void tim::runtime::enumerator_init | ( | Tp & | obj, |
int | idx, | ||
int_sequence< Ints... > | , | ||
Args &&... | args | ||
) |
Definition at line 153 of file properties.hpp.
References TIMEMORY_FOLD_EXPRESSION.
Referenced by initialize().
void tim::runtime::enumerator_insert | ( | Tp & | obj, |
int | idx, | ||
int_sequence< Ints... > | , | ||
Args &&... | args | ||
) |
Definition at line 163 of file properties.hpp.
References TIMEMORY_FOLD_EXPRESSION.
Referenced by insert().
void tim::runtime::initialize | ( | Tp & | obj, |
int | idx | ||
) |
Definition at line 314 of file properties.hpp.
References enumerator_init().
void tim::runtime::initialize | ( | Tp & | obj, |
int | idx, | ||
Arg && | , | ||
Args && | ... | ||
) |
void tim::runtime::initialize | ( | Tp & | obj, |
int | idx, | ||
Arg && | arg, | ||
Args &&... | args | ||
) |
Definition at line 219 of file properties.hpp.
References enumerator_init().
Referenced by tim::initialize().
void tim::runtime::insert | ( | Tp & | obj, |
int | idx | ||
) |
Definition at line 323 of file properties.hpp.
References enumerator_insert().
void tim::runtime::insert | ( | Tp & | obj, |
int | idx, | ||
Arg && | , | ||
Args && | ... | ||
) |
void tim::runtime::insert | ( | Tp & | obj, |
int | idx, | ||
Arg && | arg, | ||
Args &&... | args | ||
) |
Definition at line 229 of file properties.hpp.
References enumerator_insert().
Referenced by tim::insert().
void tim::runtime::insert | ( | Tp & | obj, |
int | idx, | ||
scope::config | _scope | ||
) |
Definition at line 350 of file properties.hpp.
References enumerator_insert().
Ret tim::runtime::invoke | ( | string_view_t && | label, |
Func && | func, | ||
Args &&... | args | ||
) |
Definition at line 39 of file invoker.hpp.