SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::utils::dependencies::GraphTiming Class Reference

Collect independent graph bindings without mixing timers into numerical restart history. More...

#include <timing.hpp>

Collaboration diagram for serif::utils::dependencies::GraphTiming:
[legend]

Public Member Functions

const std::vector< std::shared_ptr< const GraphTimingRun > > & runs () const noexcept
 Inspect completed and active measurements without changing their catalog or indices.
 
template<typename GraphT>
std::shared_ptr< GraphTimingRun > start_run (std::type_identity< GraphT >)
 Allocate names and counters once, before any measured node begins.
 

Private Attributes

std::vector< std::shared_ptr< const GraphTimingRun > > m_runs
 

Detailed Description

Collect independent graph bindings without mixing timers into numerical restart history.

Note
One cache executes its nodes serially, although each node may contain parallel kernels. Concurrent caches require separate collectors. Returned observers own their run; the collector need only outlive factory invocation. Formatting and sorting belong outside timed execution.

Member Function Documentation

◆ runs()

const std::vector< std::shared_ptr< const GraphTimingRun > > & serif::utils::dependencies::GraphTiming::runs ( ) const
inlinenodiscardnoexcept

Inspect completed and active measurements without changing their catalog or indices.

◆ start_run()

template<typename GraphT>
std::shared_ptr< GraphTimingRun > serif::utils::dependencies::GraphTiming::start_run ( std::type_identity< GraphT > )
inlinenodiscard

Allocate names and counters once, before any measured node begins.

Member Data Documentation

◆ m_runs

std::vector<std::shared_ptr<const GraphTimingRun> > serif::utils::dependencies::GraphTiming::m_runs
private

The documentation for this class was generated from the following file: