pub struct CriticalPathResult {
pub total_tasks: usize,
pub critical_path: Vec<String>,
pub critical_path_duration: f32,
pub total_duration_sequential: f32,
pub optimal_duration_parallel: f32,
pub speedup_factor: f32,
pub parallelizable_batches: Vec<TaskBatch>,
pub bottlenecks: Vec<Bottleneck>,
pub tasks: Vec<Task>,
pub unscheduled: Vec<String>,
}Expand description
Critical Path Analysis Results.
Fields§
§total_tasks: usizeTotal number of tasks in the plan.
critical_path: Vec<String>Tasks on the critical path (ordered by execution sequence).
critical_path_duration: f32Duration of critical path in hours.
total_duration_sequential: f32Total duration if done sequentially.
optimal_duration_parallel: f32Optimal duration with parallelization.
speedup_factor: f32Speedup factor (sequential / parallel).
parallelizable_batches: Vec<TaskBatch>Batches for parallel execution.
bottlenecks: Vec<Bottleneck>Bottleneck tasks (sorted by ROI descending).
tasks: Vec<Task>All tasks with calculated times.
unscheduled: Vec<String>Task ids the forward pass could not schedule. Non-empty iff the
dependency graph is cyclic or otherwise unschedulable; in that case
every other field is confidently-wrong and must not be trusted.
Callers that do not pre-validate (e.g. direct
CpmAlgorithm::calculate
users) MUST check this is empty before using the result.
Implementations§
Trait Implementations§
Source§impl Clone for CriticalPathResult
impl Clone for CriticalPathResult
Source§fn clone(&self) -> CriticalPathResult
fn clone(&self) -> CriticalPathResult
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 CriticalPathResult
impl Debug for CriticalPathResult
Source§impl Default for CriticalPathResult
impl Default for CriticalPathResult
Source§fn default() -> CriticalPathResult
fn default() -> CriticalPathResult
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for CriticalPathResult
impl<'de> Deserialize<'de> for CriticalPathResult
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for CriticalPathResult
impl RefUnwindSafe for CriticalPathResult
impl Send for CriticalPathResult
impl Sync for CriticalPathResult
impl Unpin for CriticalPathResult
impl UnsafeUnpin for CriticalPathResult
impl UnwindSafe for CriticalPathResult
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