Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | List of all members
uni20::performance::DetailedMeasurements< Event, EventCount > Class Template Reference

Fixed-size detailed collector retaining every measured batch. More...

#include <performance_measurements.hpp>

Inheritance diagram for uni20::performance::DetailedMeasurements< Event, EventCount >:
[legend]
Collaboration diagram for uni20::performance::DetailedMeasurements< Event, EventCount >:
[legend]

Public Member Functions

auto batches (Event event) const noexcept -> std::span< BatchMeasurement const >
 Return detailed batch records for one event.
 
void record_batch (Event event, BatchMeasurement measurement)
 Retain one completed synchronous batch measurement.
 
void reset ()
 Clear duration aggregates and retained batch measurements.
 
- Public Member Functions inherited from uni20::performance::DurationMeasurements< Event, EventCount >
auto operator[] (Event event) const noexcept -> DurationStatistics const &
 Return aggregate statistics for one event.
 
void record_duration (Event event, Duration duration) noexcept
 Record one completed event duration.
 
constexpr void reset () noexcept
 Clear every recorded statistic.
 

Static Public Attributes

static constexpr MeasurementLevel measurement_level = MeasurementLevel::detailed
 
- Static Public Attributes inherited from uni20::performance::DurationMeasurements< Event, EventCount >
static constexpr std::size_t event_count = EventCount
 
static constexpr MeasurementLevel measurement_level = MeasurementLevel::coarse
 

Detailed Description

template<class Event, std::size_t EventCount>
class uni20::performance::DetailedMeasurements< Event, EventCount >

Fixed-size detailed collector retaining every measured batch.

Duration aggregates use the base coarse interface. Batch records are intentionally retained individually for offline load-balance analysis. This collector is an explicit high-overhead policy.

Template Parameters
EventEnum or enum-like event identifier convertible to std::size_t.
EventCountNumber of valid event identifiers.

Member Function Documentation

◆ batches()

template<class Event , std::size_t EventCount>
auto uni20::performance::DetailedMeasurements< Event, EventCount >::batches ( Event  event) const -> std::span<BatchMeasurement const>
inlinenoexcept

Return detailed batch records for one event.

Precondition
event identifies an element of [0, EventCount).
Parameters
eventEvent identifier.
Returns
Immutable batch records in execution order.

◆ record_batch()

template<class Event , std::size_t EventCount>
void uni20::performance::DetailedMeasurements< Event, EventCount >::record_batch ( Event  event,
BatchMeasurement  measurement 
)
inline

Retain one completed synchronous batch measurement.

Precondition
event identifies an element of [0, EventCount).
Parameters
eventEvent identifier.
measurementCompleted batch timing and work summary.

◆ reset()

template<class Event , std::size_t EventCount>
void uni20::performance::DetailedMeasurements< Event, EventCount >::reset ( )
inline

Clear duration aggregates and retained batch measurements.

Member Data Documentation

◆ measurement_level

template<class Event , std::size_t EventCount>
constexpr MeasurementLevel uni20::performance::DetailedMeasurements< Event, EventCount >::measurement_level = MeasurementLevel::detailed
staticconstexpr

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