Commit e90c69e
committed
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: Isaac1 parent 0083c16 commit e90c69e
1 file changed
Lines changed: 331 additions & 127 deletions
0 commit comments