OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
PerfTimers.hpp File Reference
#include <chrono>
#include <cstdio>
#include <cstdlib>
Include dependency graph for PerfTimers.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  openswmm::perf::ScopedTimer
 
struct  openswmm::perf::GatedTimer
 

Namespaces

namespace  openswmm
 
namespace  openswmm::perf
 

Functions

void openswmm::perf::reset_fv () noexcept
 Zeroes the FV phase accumulators. Called from Router::initFv.
 
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
 Manual timing pair, for phases that do not fit a lexical scope.
 
double openswmm::perf::since (std::chrono::steady_clock::time_point t0) noexcept
 
bool openswmm::perf::enabled () noexcept
 True when OPENSWMM_PERF is set. Cached — getenv is not free.
 
void openswmm::perf::reset_load () noexcept
 Zeroes the load-phase accumulators. Called from open().
 
void openswmm::perf::dump_load () noexcept
 One machine-scrapeable line per phase on stderr.
 
void openswmm::perf::count (long &c, long n=1) noexcept
 

Variables

double openswmm::perf::sec_2d_window = 0.0
 
double openswmm::perf::sec_2d_advance = 0.0
 
double openswmm::perf::sec_1d_step = 0.0
 
double openswmm::perf::sec_open_prescan2d = 0.0
 
double openswmm::perf::sec_open_read = 0.0
 
double openswmm::perf::sec_read_dispatch = 0.0
 
double openswmm::perf::sec_open_resolve = 0.0
 
double openswmm::perf::sec_open_validate = 0.0
 
double openswmm::perf::sec_res_extfiles = 0.0
 
double openswmm::perf::sec_res_tables = 0.0
 
double openswmm::perf::sec_res_transects = 0.0
 
double openswmm::perf::sec_res_xsect = 0.0
 
double openswmm::perf::sec_res_shrink = 0.0
 
double openswmm::perf::sec_init_state = 0.0
 
double openswmm::perf::sec_init_hydraulics = 0.0
 
double openswmm::perf::sec_init_hydrology = 0.0
 
double openswmm::perf::sec_init_quality = 0.0
 
double openswmm::perf::sec_init_geometry = 0.0
 
double openswmm::perf::sec_start_iface = 0.0
 
double openswmm::perf::sec_start_plugins = 0.0
 
double openswmm::perf::sec_fv_census = 0.0
 
double openswmm::perf::sec_fv_flux = 0.0
 
double openswmm::perf::sec_fv_nodesolve = 0.0
 
double openswmm::perf::sec_fv_positivity = 0.0
 
double openswmm::perf::sec_fv_cellupdate = 0.0
 
double openswmm::perf::sec_fv_nodeupdate = 0.0
 
double openswmm::perf::sec_fv_refreshdep = 0.0
 
double openswmm::perf::sec_fv_savestate = 0.0
 
double openswmm::perf::sec_fv_restore = 0.0
 
double openswmm::perf::sec_fv_structref = 0.0
 
double openswmm::perf::sec_fv_bndcallback = 0.0
 
double openswmm::perf::sec_fv_rebuild = 0.0
 
double openswmm::perf::sec_fv_reconstruct = 0.0
 
double openswmm::perf::sec_fv_ltsfire = 0.0
 
double openswmm::perf::sec_fv_settle = 0.0
 
double openswmm::perf::sec_fv_tier = 0.0
 
long openswmm::perf::n_fv_substep = 0
 
long openswmm::perf::n_fv_census = 0
 
long openswmm::perf::n_fv_census_face = 0
 
long openswmm::perf::n_fv_invert = 0
 
long openswmm::perf::n_fv_savestate = 0
 
long openswmm::perf::n_fv_restore = 0
 
long openswmm::perf::n_fv_structref = 0
 
long openswmm::perf::n_fv_alg_visit = 0
 
long openswmm::perf::n_fv_alg_passthru = 0
 
long openswmm::perf::n_fv_alg_solve = 0
 
long openswmm::perf::n_fv_alg_resid = 0
 
long openswmm::perf::n_fv_alg_flux = 0
 
thread_local double openswmm::perf::nested_wall = 0.0
 ScopedTimer that reads the clock only when OPENSWMM_PERF is set.