SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
timing.hpp File Reference
#include <algorithm>
#include <chrono>
#include <cstddef>
#include <cstdint>
#include <memory>
#include <string>
#include <vector>
#include "nameof.hpp"
#include "serif/utils/dependencies/observers.hpp"
Include dependency graph for timing.hpp:
This graph shows which files directly or indirectly include this file:

Classes

struct  serif::utils::dependencies::NodeTiming
 Wall time for attempted node work, independently of later cache or Newton acceptance. More...
 
struct  serif::utils::dependencies::GraphTimingRun
 One graph binding's declaration-ordered catalog, including nodes which never execute. More...
 
class  serif::utils::dependencies::GraphTiming
 Collect independent graph bindings without mixing timers into numerical restart history. More...
 
struct  serif::utils::dependencies::SteadyNodeClock
 Read monotonic elapsed wall time without changing physical computations. More...
 
struct  serif::utils::dependencies::GraphTimingFactory< Clock >
 Bind one generic timing observer after the model's complete graph type is known. More...
 

Namespaces

namespace  serif
 
namespace  serif::utils
 
namespace  serif::utils::dependencies
 
namespace  serif::utils::dependencies::detail
 

Concepts

concept  serif::utils::dependencies::NodeTimingClock
 Restrict injected clocks to ordinary arithmetic chrono values safe in a closing callback.
 

Functions

template<NodeTimingClock Clock = SteadyNodeClock>
auto serif::utils::dependencies::time_graph_nodes (GraphTiming &timing, Clock clock={})
 Opt into node timings; a custom clock supports deterministic accounting tests without sleeps.
 

Variables

template<typename TimePoint>
constexpr bool serif::utils::dependencies::detail::node_time_point_v = false
 
template<typename Clock, typename Duration>
constexpr bool serif::utils::dependencies::detail::node_time_point_v< std::chrono::time_point< Clock, Duration > > = std::is_arithmetic_v<typename Duration::rep>