Artifact 604ba204d34f46e050c407e6b3a1d33cec78fe916e819eb5f9b80b43156acb48:
- File
internal/sync/sparse_required_walk_test.go
-
2026-10-21 11:18:47
— part of check-in
[6824f7701a]
on branch feat/submanifest-reader
— fix(sync): parse each structural node once in the required-content walk
The closure walk parsed a node before checking whether its frame had been visited, so a tree whose S cards name one sub-manifest many times parsed it once per reference: a 616 KB node took 0.46s at 50 references and 3.7s at 400. The visit and byte limits bound what is held, not that work, and a caller without a deadline could wait for days inside the budget.
The walk is its own function now, parsing through a callback it calls at most once per (artifact, baseline) pair, so a test can count parses. (user: [email protected], size: 2492) [annotate] [blame] [check-ins using]
-
2026-10-21 21:20:46
— part of check-in
[7244496a09]
on branch main
— Merge pull request #437 from danmestas/feat/submanifest-reader
feat: sub-manifest trees and sparse cones (draft-fossil-submanifests-00, draft-fossil-sparse-cone-00) (user: [email protected], size: 2492) [annotate] [blame] [check-ins using]
-
2026-10-21 11:18:47
— part of check-in
[6824f7701a]
on branch feat/submanifest-reader
— fix(sync): parse each structural node once in the required-content walk