Expand description
Per-task timing accumulator.
Mirrors Common/IpTimedTask.hpp (Common/IpDebug.{hpp,cpp} is
omitted — debug tracing is replaced by the journalist).
Structs§
- Convex
Timing Scope - RAII installation of a convex-path timing sink:
ConvexTimingScope::openmakesstatsthe active sink, and dropping the returned guard restores whatever was installed before it. - Convex
Timing Statistics - Wall-clock phase accumulator for the dedicated convex (LP / QP / conic)
path, the counterpart of
TimingStatisticsfor a solve that has no callbacks, no Hessian updates and no filter line search to attribute time to. - Deadline
- A monotonic wall/CPU-clock deadline for a single solve (pounce#242).
- Timed
Guard - Drop-on-end guard returned by
TimedTask::guard. CallsTimedTask::end_if_startedin its destructor so a function with many exit paths can wrap a section with a single line. - Timed
Task - Equivalent to
Ipopt::TimedTask. UseTimedTask::start/TimedTask::endaround a section to accumulate cpu/system/wall time.TimedTask::end_if_startedis the exception-safe variant. - Timing
Statistics - Aggregate of per-subsystem
TimedTaskcounters. MirrorsAlgorithm/IpTimingStatistics.{hpp,cpp}. Owned byIpoptApplicationand shared (viaRc) with the algorithm, NLP, and KKT solver so each subsystem can bump its own field. Reported at the end of a solve whenprint_timing_statistics yes.
Enums§
- Deadline
Kind - Which time budget a
Deadlinecheck found crossed. - Linear
System Phase - Which linear-system phase a
ConvexTimingStatisticsrow is charging. Named after the rowsTimingStatistics::reportalready prints, so a tool that attributes cost by phase reads one vocabulary across both solver paths.
Functions§
- time_
linear_ system - Charge the wall time
ftakes againstphaseof the active convex-path sink. A no-op wrapper when noConvexTimingScopeis open.