Artifact 307500c22cd70008ace2e555c6e1192ac30b7fb3a460aa35793486906f50d5a3:
- File
internal/sync/clone_cone_rounds_test.go
-
2026-10-28 12:47:44
— part of check-in
[4536dae44c]
on branch perf/cone-clone-rounds
— fix(content): classify a fossil-written store's file versions from its tables
A store this library crosslinked records each blob it found to be no artifact, and classification skips the file versions among them. A store fossil wrote has no such record, so classification read every file version raw and exceeded its byte budget: on a copy of fossil-scm.org's repository it failed on every request. A cone clone's walk then kept no base it had not reached yet, sent every in-cone version whole, and fit two or three 2-4 MB sqlite3.c texts into a 16 MB round: about 390 rounds and 30 minutes, where a dense clone takes 8 rounds.
Without the record, a version that mlink names and no table an artifact's crosslink writes claims is file content too, the proof the cone walk's knownFile already relies on; a table the store lacks claims nothing. That clone now takes 12 rounds and 9 minutes, verifying the same.
Related to #465. (user: [email protected], size: 3543) [annotate] [blame] [check-ins using]
-
2026-10-28 14:33:48
— part of check-in
[d3574f0c74]
on branch main
— Merge pull request #517 from danmestas/perf/cone-clone-rounds
fix(content): classify a fossil-written store's file versions from its tables (user: [email protected], size: 3543) [annotate] [blame] [check-ins using]
- 2026-10-28 14:33:55 — part of check-in [8f0f4fb0f5] on branch main — Merge remote-tracking branch 'origin/main' into perf/cone-clone-resend (user: [email protected], size: 3543) [annotate] [blame] [check-ins using]
-
2026-10-28 12:47:44
— part of check-in
[4536dae44c]
on branch perf/cone-clone-rounds
— fix(content): classify a fossil-written store's file versions from its tables