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 | auto_start |
Will cause non-auto bundlers to invoke start() during construction. If included as a template parameter of the bundler, it will have no effect. Usage: More... | |
struct | auto_stop |
This quirk is irrelevant. This is the default behavior for all bundlers. See tim::quirk::explicit_stop to suppress this behavior. More... | |
struct | config |
a variadic type which holds zero or more quirks that are passed to the constructor of a component bundler. More... | |
struct | exit_report |
Will cause auto-bundlers to write itself to stdout during destruction. Usage: More... | |
struct | explicit_pop |
Will suppress the implicit pop() within stop() for the bundlers with this characteristic. Combining this with tim::quirk::explicit_push will effectively allow the measurements within the bundler to only be recorded locally and statistics to not be updated during intermediate measurements. Usage: More... | |
struct | explicit_push |
Will suppress the implicit push() within start() for the bundlers with this characteristic Usage: More... | |
struct | explicit_start |
Will cause auto bundlers to suppress calling start during construction. If included as a template parameter of the non-auto bundler, it will have no effect. Usage: More... | |
struct | explicit_stop |
Will cause bundlers to suppress calling stop during destruction. Usage: More... | |
struct | flat_scope |
Will cause bundlers to ignore the global settings and enforce flat storage in the call-graph. Usage: More... | |
struct | is_config |
struct | is_config< config< Types... > > |
struct | no_init |
Will cause bundlers to suppress calling any routines related to initializing routines during construction. This is useful to override the default-initializer for a bundler type Usage: More... | |
struct | no_store |
Will cause bundlers to suppress any implicit entries into the component storage. This behavior is the default for tim::lightweight_bundle and is meaningless in that context. It is quite similar to adding both tim::quirk::explicit_push and tim::quirk::explicit_pop, however it effectively propagates tim::quirk::explicit_pop when used within the constructor. Usage: More... | |
struct | stop_last_bundle |
Will cause a bundler to stop the "parent" bundler (of the same type). It can be used as template parameter but be aware that tim::component_tuple<foo, tim::quirk::stop_last_bundle> is NOT the same type as tim::component_tuple<foo> . Usage: More... | |
struct | timeline_scope |
Will cause bundlers to ignore the global settings and enforce timeline storage. Usage: More... | |
struct | tree_scope |
Will cause bundlers to ignore the global settings and enforce hierarchical storage in the call-graph. Usage: More... | |
struct | unsafe |
When present, this argument instructs to skip any safety checks. Example checks include: checking whether a component is in a stop state before startings, checking whether a component has been started before stopping, checking whether push/pop has been applied before applying the inverse Usage: More... | |