Experiment benchmarks catalog borrowed log findings - kmosoti/FabricO11y GitHub Wiki

Historical report imported 2026-10-10 from docs/experiments/benchmarks/catalog-borrowed-log-findings.md. Original SHA-256: d9ae08d8aac10b9beabde048c08cad21e1c8114c32f3a14854525eb968cda22f. Measurements and outcomes retain their stated revisions. Links and local environment labels are normalized; $FABRIC_DATA is the mounted experiment drive. See evidence policy.

CR2 borrowed Parquet-log findings

Completed without nomination. Aggregate (local evidence omitted from stage) contains all six fresh pairs/12 children/768 independently graded full chains. Three counted pairs meet every allocation-primary/peak guard; plain pair3 fails four CPU/wall guards in two Segment populations. No production promotion or F1 admission follows. Registered scope (local checkout reference docs/experiments/benchmarks/catalog-borrowed-log-protocol.md; not present at origin/main), slicing (local checkout reference docs/experiments/benchmarks/catalog-borrowed-log-slicing-protocol.md; not present at origin/main) and resource admission (local checkout reference docs/experiments/benchmarks/catalog-evidence-capacity-admission-protocol.md; not present at origin/main) stay frozen.

H65536 shuffled1024-byte rows, seed42, limit10000, tail/Segment, Scan/Walk and empty/selective/common/broad shapes are unchanged; warm medians use three calls within each fresh child. First calls and full continuations remain retained. Measured attributes are empty and timestamps unique; rich attributes, malformed JSON/identity/column validation are separate controls, not a rich-data benchmark. Freeze's borrowed_log_tests command exit0 ran one executable unit test.

Ratios are candidate/baseline, independently recomputed from original compressed timings.jsonl warm samples; all16 population metrics match all six summaries. Requested-byte values below repeat exactly across three counted pairs.

Segment population Requested-byte ratio Saving
Scan empty 0.753186 24.681431%
Scan selective 0.753194 24.680559%
Scan common 0.819434 18.056641%
Scan broad 0.819434 18.056643%
Walk empty 0.753883 24.611679%
Walk selective 0.753892 24.610810%
Walk common 0.897277 10.272290%
Walk broad 0.941294 5.870593%

Selective Scan cumulative requested bytes273,764,231→206,197,688 per query; Walk274,540,040→206,973,512. Their incremental peaks are5,077,776→5,077,778 and5,077,880→5,077,882bytes. Every Segment peak rises only2bytes; these allocation savings do not reduce measured live peak or imply a process-memory bound. Tail already borrows: all populations request27extra bytes (ratios1.000000043– 1.000000357); Scan peaks are identical, Walk peaks rise2bytes, at most1.000000371. All counted peak guards meet1.05. Counted CPU/wall observations remain separate from plain acceptance and establish no timing improvement by themselves.

Segment population Plain CPU ratio range Plain wall ratio range
Scan empty 0.914798–1.009283 0.914702–1.010441
Scan selective 0.903145–1.075617 0.905175–1.076174
Scan common 0.917387–1.028848 0.919439–1.029107
Scan broad 0.947267–0.999363 0.948102–0.999806
Walk empty 0.938378–0.988790 0.939780–0.989589
Walk selective 0.925264–0.993734 0.925570–0.993177
Walk common 0.933518–0.962891 0.932658–0.963704
Walk broad 0.976126–1.065830 0.976448–1.066199

Plain pair3 selective Scan CPU/wall1.075617/1.076174 and broad Walk1.065830/ 1.066199 exceed1.05. All plain tail controls meet guards: aggregate CPU range 0.967369–1.033832, wall0.967801–1.034555. Selective allocation benefit survives but strict every-pair preservation does not; no pooled or universal win is claimed.

Six pair receipts exit0, total1823.419252s, whole-job cgroup peaks4,548,620,288– 4,633,452,544bytes (4337.90–4418.80MiB), sampled scratch max2,903,338,728bytes (2768.84MiB), zero swap/high/max/OOM events and successful scratch removal. Freeze exit0 took52.094561s; summary receipt (local evidence omitted from stage) exit0 took1.536629s at78.36MiB peak. These components total1877.050442s, excluding other controls/admission jobs. Read-only run inventory479,258,946 unique file bytes/480,452,608 allocated bytes; persistent evidence is repository/home, builds/temp fixtures on mounted data drive. Plain pair1 retains original freeze; five later pairs bind resource-only amended driver, with the same four binaries, verifiers and fixture identity. The512→768MiB allowance changed no acceptance.

Summary rehashed all four frozen executable archives, current bound driver/ verifiers, and decoded/compressed hashes+lengths of48 compacted JSON artifacts; it recomputed raw timing medians, checked provenance/admission/cleanup, and read 768 historical passed verdicts plus exact-original archive receipts. It did not rerun the semantic oracle or reconstruct/reverify every raw Batch/page object from chain maps. Semantic grading and exact map comparisons ran during trial collection; compression compared decoded bytes exactly before removing raw JSON. CR1/CR3 null results and historical failed gates remain unchanged.