Flow 1.0.1
Flow project: Full implementation reference.
Classes | Namespaces | Functions
checkpt_timer.hpp File Reference
#include "flow/perf/perf_fwd.hpp"
#include "flow/perf/clock_type_fwd.hpp"
#include "flow/log/log.hpp"
#include <boost/chrono/process_cpu_clocks.hpp>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

class  flow::perf::Checkpointing_timer
 The central class in the perf Flow module, this efficiently times the user's operation, with a specified subset of timing methods; and with the optional ability to time intermediate checkpoints within the overall operation. More...
 
struct  flow::perf::Checkpointing_timer::Checkpoint
 The entirety of the information recorded with each Checkpointing_timer::checkpoint() call; it contains the Duration values (for each Clock_type) with the time elapsed since either the preceding T.checkpoint() or construction. More...
 
class  flow::perf::Checkpointing_timer::Aggregator
 This companion/inner class of Checkpointing_timer provides aggregation of results from many Checkpointing_timers each measuring some user operation being repeated many times; particularly when the operation consists of multiple steps (checkpoints) of interest. More...
 

Namespaces

namespace  flow
 Catch-all namespace for the Flow project: A collection of various production-quality modules written in modern C++17, originally by ygoldfel.
 
namespace  flow::perf
 Flow module containing tools for profiling and optimization.
 

Functions

std::ostream & flow::perf::operator<< (std::ostream &os, const Checkpointing_timer::Checkpoint &checkpoint)
 Prints string representation of the given Checkpoint to the given ostream. More...