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.
|
Namespaces | |
namespace | base |
Classes | |
struct | entry |
struct | handler |
struct | header |
struct | header_stream |
class | ring_buffer_allocator |
allocator that uses array of (ring) buffers to coalesce memory. Requires This allocator propagates on container swap and container move assignment. Use TIMEMORY_RING_BUFFER_ALLOCATOR_BUFFER_COUNT env variable to specify the default number of allocations or use the set_buffer_count / set_buffer_count_cb . When a reserve is requested and the request is greater than the free spaces in the buffer, the free spaces are stored in a "dangling" array of spaces which are used when single allocations are requested. More... | |
class | shared_stateful_allocator |
Ensures that allocators which have state are not deleted until all handles to the allocator have been released. More... | |
struct | stream |
Functions | |
template<typename... ArgsT> | |
void | write_header (stream &_os, const std::string &_label, std::ios_base::fmtflags _fmt={}, int _width=0, int _prec=0, bool _center=true) |
template<typename Tp > | |
void | write_entry (stream &_os, const std::string &_label, const Tp &_value, bool c=false, bool l=false) |
void | write_entry (stream &_os, const std::string &_label, const std::string &_value, bool c=false, bool=false) |
template<typename Tp > | |
void | write_entry (stream &_os, const std::vector< std::string > &_label, const Tp &_value, bool c=false, bool l=false) |
template<typename Tp > | |
void | write_entry (stream &_os, const std::string &_label, const std::vector< std::string > &_value, bool c=false, bool l=false) |
template<typename Tp , typename Up > | |
void | write_entry (stream &_os, const std::string &_label, const std::pair< Tp, Up > &_value, bool c=false, bool l=false) |
template<typename Tp , typename Up > | |
void | write_entry (stream &_os, const std::vector< std::string > &_labels, const std::pair< Tp, Up > &_value, bool c=false, bool l=false) |
template<typename Tp , typename... Alloc> | |
void | write_entry (stream &_os, const std::string &_label, const std::vector< Tp, Alloc... > &_values, bool c=false, bool l=false) |
template<typename Tp , typename... Alloc> | |
void | write_entry (stream &_os, const std::vector< std::string > &_labels, const std::vector< Tp, Alloc... > &_values, bool c=false, bool l=false) |
template<typename Tp , size_t N> | |
void | write_entry (stream &_os, const std::string &_label, const std::array< Tp, N > &_values, bool c=false, bool l=false) |
template<typename Tp , size_t N> | |
void | write_entry (stream &_os, const std::vector< std::string > &_labels, const std::array< Tp, N > &_values, bool c=false, bool l=false) |
template<typename... Types, size_t... Idx> | |
void | write_entry (stream &_os, const std::string &_label, const std::tuple< Types... > &_values, index_sequence< Idx... >, bool c=false, bool l=false) |
template<typename... Types, size_t... Idx> | |
void | write_entry (stream &_os, const std::vector< std::string > &_labels, const std::tuple< Types... > &_values, index_sequence< Idx... >, bool c=false, bool l=false) |
template<typename... Types> | |
void | write_entry (stream &_os, const std::string &_labels, const std::tuple< Types... > &_values, bool c=false, bool l=false) |
template<typename... Types> | |
void | write_entry (stream &_os, const std::vector< std::string > &_labels, const std::tuple< Types... > &_values, bool c=false, bool l=false) |
void tim::data::write_entry | ( | stream & | _os, |
const std::string & | _label, | ||
const std::array< Tp, N > & | _values, | ||
bool | c = false , |
||
bool | l = false |
||
) |
void tim::data::write_entry | ( | stream & | _os, |
const std::string & | _label, | ||
const std::pair< Tp, Up > & | _value, | ||
bool | c = false , |
||
bool | l = false |
||
) |
|
inline |
Definition at line 827 of file stream.hpp.
References tim::data::stream::get_header(), and tim::data::stream::set_name().
void tim::data::write_entry | ( | stream & | _os, |
const std::string & | _label, | ||
const std::tuple< Types... > & | _values, | ||
index_sequence< Idx... > | , | ||
bool | c = false , |
||
bool | l = false |
||
) |
void tim::data::write_entry | ( | stream & | _os, |
const std::string & | _label, | ||
const std::vector< std::string > & | _value, | ||
bool | c = false , |
||
bool | l = false |
||
) |
Definition at line 848 of file stream.hpp.
References write_entry().
void tim::data::write_entry | ( | stream & | _os, |
const std::string & | _label, | ||
const std::vector< Tp, Alloc... > & | _values, | ||
bool | c = false , |
||
bool | l = false |
||
) |
Definition at line 882 of file stream.hpp.
References write_entry().
void tim::data::write_entry | ( | stream & | _os, |
const std::string & | _label, | ||
const Tp & | _value, | ||
bool | c = false , |
||
bool | l = false |
||
) |
Definition at line 817 of file stream.hpp.
References tim::data::stream::get_header(), and tim::data::stream::set_name().
Referenced by tim::utility::write_entry(), and write_entry().
void tim::data::write_entry | ( | stream & | _os, |
const std::string & | _labels, | ||
const std::tuple< Types... > & | _values, | ||
bool | c = false , |
||
bool | l = false |
||
) |
Definition at line 952 of file stream.hpp.
References write_entry().
void tim::data::write_entry | ( | stream & | _os, |
const std::vector< std::string > & | _label, | ||
const Tp & | _value, | ||
bool | c = false , |
||
bool | l = false |
||
) |
Definition at line 838 of file stream.hpp.
References write_entry().
void tim::data::write_entry | ( | stream & | _os, |
const std::vector< std::string > & | _labels, | ||
const std::array< Tp, N > & | _values, | ||
bool | c = false , |
||
bool | l = false |
||
) |
void tim::data::write_entry | ( | stream & | _os, |
const std::vector< std::string > & | _labels, | ||
const std::pair< Tp, Up > & | _value, | ||
bool | c = false , |
||
bool | l = false |
||
) |
void tim::data::write_entry | ( | stream & | _os, |
const std::vector< std::string > & | _labels, | ||
const std::tuple< Types... > & | _values, | ||
bool | c = false , |
||
bool | l = false |
||
) |
void tim::data::write_entry | ( | stream & | _os, |
const std::vector< std::string > & | _labels, | ||
const std::tuple< Types... > & | _values, | ||
index_sequence< Idx... > | , | ||
bool | c = false , |
||
bool | l = false |
||
) |
void tim::data::write_entry | ( | stream & | _os, |
const std::vector< std::string > & | _labels, | ||
const std::vector< Tp, Alloc... > & | _values, | ||
bool | c = false , |
||
bool | l = false |
||
) |
void tim::data::write_header | ( | stream & | _os, |
const std::string & | _label, | ||
std::ios_base::fmtflags | _fmt = {} , |
||
int | _width = 0 , |
||
int | _prec = 0 , |
||
bool | _center = true |
||
) |