pub struct ParallelExecutor { /* private fields */ }Expand description
Parallel executor that runs independent cells concurrently.
Cells are grouped by dependency level and executed in parallel within each level. Levels are processed sequentially to maintain dependency ordering.
Implementations§
Source§impl ParallelExecutor
impl ParallelExecutor
Sourcepub fn with_state(state: StateManager) -> Self
pub fn with_state(state: StateManager) -> Self
Create with an existing state manager.
Sourcepub fn set_callback(&mut self, callback: impl ExecutionCallback + 'static)
pub fn set_callback(&mut self, callback: impl ExecutionCallback + 'static)
Set the execution callback.
Sourcepub fn load_cell(&self, compiled: CompiledCell, dep_count: usize) -> Result<()>
pub fn load_cell(&self, compiled: CompiledCell, dep_count: usize) -> Result<()>
Load a compiled cell for execution.
Sourcepub fn unload_cell(&self, cell_id: CellId) -> Result<Option<LoadedCell>>
pub fn unload_cell(&self, cell_id: CellId) -> Result<Option<LoadedCell>>
Unload a cell.
Sourcepub fn execute_parallel(
&self,
levels: &[Vec<CellId>],
deps: &HashMap<CellId, Vec<CellId>>,
) -> Result<()>
pub fn execute_parallel( &self, levels: &[Vec<CellId>], deps: &HashMap<CellId, Vec<CellId>>, ) -> Result<()>
Execute cells in parallel based on dependency levels.
§Arguments
levels- Cells grouped by dependency level (earlier levels have no deps on later ones)deps- Dependency map: cell_id -> list of dependency cell_ids
Sourcepub fn inner(&self) -> &Arc<Mutex<LinearExecutor>>
pub fn inner(&self) -> &Arc<Mutex<LinearExecutor>>
Get access to the inner executor.
Auto Trait Implementations§
impl Freeze for ParallelExecutor
impl !RefUnwindSafe for ParallelExecutor
impl Send for ParallelExecutor
impl Sync for ParallelExecutor
impl Unpin for ParallelExecutor
impl !UnwindSafe for ParallelExecutor
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.