RustArena

A parallel task scheduler

The core of every build system and CI pipeline. Parse tasks and their dependencies, order them with a topological sort, name the cycle when there is one, run independent tasks in parallel waves on scoped threads with deterministic output, and find the critical path.

Milestones

  1. Parse the task file
  2. An order that respects the dependencies
  3. Name the cycle
  4. Run in parallel waves
  5. Polish: results flow downstream, and the critical path