Skip to content

Commit e90c69e

Browse files
sync(bench): add tree-shape axis + parallel-walk runner
Expand the benchworkspace benchmarks so every cell can be combined with a tree shape: flat (no nesting), small (depth 2, branch 2), medium (depth 4, branch 2), large (depth 6, branch 2). All four list-repo and sync benchmarks now parameterize over (shape × N). Add a test-only parallelWalk runner that lists everything under a path by issuing non-recursive /api/2.0/workspace/list calls and recursing client-side with a configurable worker pool. Add BenchmarkListWalkers that compares list-repo vs parallel-walk (workers=8 and workers=32) head to head across (shape × N). The runner is deliberately not exported and not wired into Sync — production code uses list-repo. The bench is here to make the comparison reproducible and to back the claim that list-repo dominates parallel-walk at any non-flat shape. BenchmarkListRepoByContent now also varies shape, so content × shape is fully covered. Run all four groups with: go test -tags benchworkspace -bench=. -benchtime=5x -timeout=90m ./libs/sync/... Co-authored-by: Isaac
1 parent 0083c16 commit e90c69e

1 file changed

Lines changed: 331 additions & 127 deletions

File tree

0 commit comments

Comments
 (0)