| Comment: | Merge branch 'wip/rebuild-perf' into feat/horizon-cones
Rebuild of fossil-scm.org's repository in about 50 s instead of 3 to 6 minutes: delta-chain availability answered from the sweep's cache, and each manifest parsed once. Every derived table is identical before and after. |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk | feat/horizon-cones |
| Files: | files | file ages | folders |
| SHA3-256: |
6339d6fb5045a563d74f4571c66b4081 |
| User & Date: | [email protected] on 2026-10-22 21:17:32.000 |
| Other Links: | branch diff | manifest | tags |
|
2026-10-22
| ||
| 21:17 | docs(changelog): rebuild in under a minute check-in: 23831a1bce user: [email protected] tags: feat/horizon-cones, trunk | |
| 21:17 |
Merge branch 'wip/rebuild-perf' into feat/horizon-cones
Rebuild of fossil-scm.org's repository in about 50 s instead of 3 to 6 minutes: delta-chain availability answered from the sweep's cache, and each manifest parsed once. Every derived table is identical before and after. check-in: 6339d6fb50 user: [email protected] tags: feat/horizon-cones, trunk | |
| 21:17 |
perf(manifest): stop re-walking delta chains and re-parsing manifests in a rebuild
Rebuilding a clone of the Fossil SCM repository (67,894 artifacts, 21,008 check-ins) took about 3 minutes of which 104 s was parentTreeGap asking content.AvailableByUUID, an uncached delta-chain walk with one SQL statement per node, for every parent of every check-in. It now uses the sweep's availability cache like the rest of the guard. The same sweep parsed each check-in three times (as a child, as its child's parent, as a delta baseline) and rebuilt its file maps. The sweep's content cache now keeps the parsed deck, file views and baseline rid of its few most recent check-ins (Cache.Derived), dropped with the cached bytes on Invalidate and Clear. Derived hits count as reuse in the cascade stats, so the shared-cache regression guard keeps measuring it. The rebuilt event, mlink, plink, tagxref, leaf, filename, cherrypick, orphan, unclustered, unsent, forumpost, attachment, phantom, blob and delta tables are row-for-row identical to the previous code's. check-in: 48ff1f5084 user: [email protected] tags: feat/horizon-cones, trunk | |
| 21:16 | docs(changelog): merges follow renames; Repo.Merge keeps deletions check-in: cb4284230b user: [email protected] tags: feat/horizon-cones, trunk | |