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
- Parse the task file
- An order that respects the dependencies
- Name the cycle
- Run in parallel waves
- Polish: results flow downstream, and the critical path