A tool to analyze Rust workspace dependency structures and identify opportunities for splitting crates into smaller, parallelizable units to improve build times.
Why "tarjanize"? The tool is named after Robert Tarjan, whose algorithms are central to both phases of our analysis:
- Phase 2 uses Tarjan's SCC algorithm (1972) to identify strongly connected components
- Phase 3 uses union-find with path compression, whose near-linear time bound was proven by Tarjan & van Leeuwen (1984)