Skip to main content

Module timing

Module timing 

Source
Expand description

Per-task timing accumulator.

Mirrors Common/IpTimedTask.hpp (Common/IpDebug.{hpp,cpp} is omitted — debug tracing is replaced by the journalist).

Structs§

ConvexTimingScope
RAII installation of a convex-path timing sink: ConvexTimingScope::open makes stats the active sink, and dropping the returned guard restores whatever was installed before it.
ConvexTimingStatistics
Wall-clock phase accumulator for the dedicated convex (LP / QP / conic) path, the counterpart of TimingStatistics for 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).
TimedGuard
Drop-on-end guard returned by TimedTask::guard. Calls TimedTask::end_if_started in its destructor so a function with many exit paths can wrap a section with a single line.
TimedTask
Equivalent to Ipopt::TimedTask. Use TimedTask::start / TimedTask::end around a section to accumulate cpu/system/wall time. TimedTask::end_if_started is the exception-safe variant.
TimingStatistics
Aggregate of per-subsystem TimedTask counters. Mirrors Algorithm/IpTimingStatistics.{hpp,cpp}. Owned by IpoptApplication and shared (via Rc) with the algorithm, NLP, and KKT solver so each subsystem can bump its own field. Reported at the end of a solve when print_timing_statistics yes.

Enums§

DeadlineKind
Which time budget a Deadline check found crossed.
LinearSystemPhase
Which linear-system phase a ConvexTimingStatistics row is charging. Named after the rows TimingStatistics::report already prints, so a tool that attributes cost by phase reads one vocabulary across both solver paths.

Functions§

time_linear_system
Charge the wall time f takes against phase of the active convex-path sink. A no-op wrapper when no ConvexTimingScope is open.