Artifact d952fe32b7f727993c80ac1df9020e0ba964caba7cf602efa2a47cc7d2153a61:
- File
internal/horizon/measure_corpus_test.go
-
2026-10-22 13:14:18
— part of check-in
[c6ef4af29f]
on branch feat/horizon-cones
— test(horizon): measure whether a structural horizon pays on a real repository
Opt-in corpus test (LIBFOSSIL_CORPUS) for draft-fossil-horizon-00 Appendix A step 4: for C at 10, 100 and 1000 check-ins back along trunk's primary-parent chain and at the check-in nearest a year before the tip, compare a content horizon's transfer with a structural horizon's under both held-set rules. It works on a copy of the repository. The seed is estimated as one control artifact with one T card per tag in force at each entry of K, uncompressed.
fossil-scm.org clone: 67894 artifacts, 37.2 MiB stored, 8425.2 MiB expanded (21008 manifests, 8.9 MiB stored, 1099.8 MiB expanded; no sub-manifest nodes; 6263 other structure, 691 clusters). Runtime 58s, peak heap 161 MiB. Share = (content - structural) / content.
descendants rule K below (n / MiB exp) content MiB exp structural MiB exp share exp share stored 10 back 12 20996 / 1098.9 1136.5 37.6 96.7% 49.0% 100 back 121 20887 / 1089.9 1262.0 172.1 86.4% 48.5% 1000 back 1746 19262 / 962.2 2341.0 1379.0 41.1% 40.0% 1 year (426 back) 796 20212 / 1036.1 1846.3 810.3 56.1% 44.5%
leaves rule: K = 20907 of 21008 at every depth; share 0.0% expanded, -7.7% stored (the seed outweighs the 101 manifests below). (user: [email protected], size: 10953) [annotate] [blame] [check-ins using]
-
2026-10-22 13:14:39
— part of check-in
[5430186930]
on branch feat/horizon-cones
— Merge branch 'wip/horizon-measure' into feat/horizon-cones
The Appendix A step 4 measurement: an opt-in corpus test reporting what a structural horizon saves over a content horizon at several depths. (user: [email protected], size: 10953) [annotate] [blame] [check-ins using]
-
2026-10-22 13:14:18
— part of check-in
[c6ef4af29f]
on branch feat/horizon-cones
— test(horizon): measure whether a structural horizon pays on a real repository