pub struct TimingBreakdown {
pub presolve_us: u64,
pub solve_us: u64,
pub postsolve_us: u64,
pub ipm_factorize_us: u64,
pub ipm_solve_us: u64,
pub ipm_reg_retries: u32,
pub ipm_used_iterative: bool,
pub postsolve_map_us: u64,
pub postsolve_lsq_us: u64,
pub postsolve_recovery_us: u64,
pub postsolve_refine_us: u64,
pub postsolve_krylov_ir_us: u64,
}Expand description
各 phase 所要時間 (μs精度)。LP simplex と QP IPM の両経路で共用。
Fields§
§presolve_us: u64Presolve 全体 (run_presolve)
solve_us: u64縮約後 simplex 本体 (solve_without_presolve)
postsolve_us: u64Postsolve 総計 (run_postsolve / QP 経路では下記 4 field の合計)
ipm_factorize_us: u64KKT 行列 LDL 数値因子化の累計 (全 iteration 合計)
ipm_solve_us: u64KKT solve (predictor/corrector/Gondzio) の累計
ipm_reg_retries: u32LDL regularization retry の累計回数 (健全性プローブ失敗含む)
ipm_used_iterative: boolMINRES (iterative) backend が 1 回以上使われたか
postsolve_map_us: u64postsolve_qp_with_dual_recovery (reduced → orig 空間写像)
postsolve_lsq_us: u64refine_postsolve_dual_lsq (元空間 y LSQ refine)
postsolve_recovery_us: u64refine_postsolve_recovery (Stage 0: SingletonRow 後退代入)
postsolve_refine_us: u64refine_post_processing (Stage 1+2: primal projection / y-z refit)
postsolve_krylov_ir_us: u64refine_krylov_and_projection (saddle-point Krylov IR)
Trait Implementations§
Source§impl Clone for TimingBreakdown
impl Clone for TimingBreakdown
Source§fn clone(&self) -> TimingBreakdown
fn clone(&self) -> TimingBreakdown
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TimingBreakdown
impl Debug for TimingBreakdown
Source§impl Default for TimingBreakdown
impl Default for TimingBreakdown
Source§fn default() -> TimingBreakdown
fn default() -> TimingBreakdown
Returns the “default value” for a type. Read more
Source§impl PartialEq for TimingBreakdown
impl PartialEq for TimingBreakdown
Source§fn eq(&self, other: &TimingBreakdown) -> bool
fn eq(&self, other: &TimingBreakdown) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Copy for TimingBreakdown
impl StructuralPartialEq for TimingBreakdown
Auto Trait Implementations§
impl Freeze for TimingBreakdown
impl RefUnwindSafe for TimingBreakdown
impl Send for TimingBreakdown
impl Sync for TimingBreakdown
impl Unpin for TimingBreakdown
impl UnsafeUnpin for TimingBreakdown
impl UnwindSafe for TimingBreakdown
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more