Skip to main content

Module parallel

Module parallel 

Source
Expand description

Rayon-backed parallel split + recombine, plus a branch-level ParallelExecutor for independent plan fragments.

Two parallelism shapes live here:

  • run_parallel — chunked Vec-in / Vec-out. Used by parallel- aware operators (large hash joins, blocking sorts, hash aggregates) to fan out per-partition work.
  • ParallelExecutor — runs N independent worker closures concurrently and returns their results in input order, allowing the operator-tree driver can fork independent branches (Intersect / Union / BayesianEvidenceFusion / RobustPositiveEvidencePool / ProbBoolFusion children, deep-fusion SignalLayer signals) without serialising them.

Structs§

ParallelExecutor
Branch-level parallel executor.

Constants§

DEFAULT_PARALLEL_WORKERS
Default thread-pool size. Setting the runtime value to 0 disables parallel execution.
MIN_PARALLEL_BRANCHES
Minimum number of branches before parallel dispatch kicks in. Below this, sequential execution wins on overhead.

Functions§

run_parallel
Split input into num_partitions chunks, run worker over each chunk in parallel, and concatenate the results in the same order the chunks were emitted in.