Summary
start_parachain is a blocking linear function that runs Phase 1 → Phase 2 → Phase 3 sequentially. This forces all phases to be serial even when their dependencies allow overlap.
Converting to a reactive state machine that responds to events (relay runtime available, :code download complete, Aura proof arrived) would enable natural overlap of all phases.
This is a significant refactor. Do it after exhausting the easier parallelization wins:
- Parallelize Aura call proofs
- Overlap WASM compilation with proof downloads
- Pre-compile cached runtime during DB load
Only needed when the sequential structure itself becomes the bottleneck.
Effort
Large — touches the core parachain sync service architecture.
Summary
start_parachainis a blocking linear function that runs Phase 1 → Phase 2 → Phase 3 sequentially. This forces all phases to be serial even when their dependencies allow overlap.Converting to a reactive state machine that responds to events (relay runtime available,
:codedownload complete, Aura proof arrived) would enable natural overlap of all phases.This is a significant refactor. Do it after exhausting the easier parallelization wins:
Only needed when the sequential structure itself becomes the bottleneck.
Effort
Large — touches the core parachain sync service architecture.