![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
Performance timing and phase accumulators for engine execution. More...
#include <array>#include <mutex>#include <chrono>#include <cstdio>#include <cstdlib>Go to the source code of this file.
Classes | |
| struct | openswmm::perf::ScopedTimer |
| struct | openswmm::perf::GatedTimer |
| class | openswmm::perf::CounterBatch |
| Private counters for one worker in a worksharing phase. Nested batches merge into the enclosing worker's batch. The outer batch merges under one lock after the loop; hydraulic arithmetic is unaffected. When profiling is disabled, no counters are initialized or merged. More... | |
Namespaces | |
| namespace | openswmm |
| namespace | openswmm::perf |
Typedefs | |
| using | openswmm::perf::FvCounts = std::array<long, n_fv_counter_count> |
Functions | |
| long | openswmm::perf::value (FvCounter counter) noexcept |
| Read one process-global completed FV counter total. | |
| void | openswmm::perf::reset_fv () noexcept |
| Zero FV phase timers and completed counter totals. | |
| void | openswmm::perf::dump_fv () noexcept |
| One machine-scrapeable line for the FV phase split. | |
| std::chrono::steady_clock::time_point | openswmm::perf::now () noexcept |
| Sample the steady monotonic clock regardless of profiling enablement. | |
| double | openswmm::perf::since (std::chrono::steady_clock::time_point t0) noexcept |
| Measure elapsed wall time from a steady-clock sample. | |
| bool | openswmm::perf::enabled () noexcept |
| Read the process-cached profiling environment gate. | |
| void | openswmm::perf::reset_load () noexcept |
| Zero load/open/initialize/start phase accumulators. | |
| void | openswmm::perf::dump_load () noexcept |
| One machine-scrapeable line per phase on stderr. | |
| void | openswmm::perf::count (FvCounter counter, long n=1) noexcept |
| Accumulate a batch of events into worker-private or serial global counters. | |
Performance timing and phase accumulators for engine execution.