Experiment benchmarks catalog builder spill findings - kmosoti/FabricO11y GitHub Wiki

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

CR1 full-builder confirmation, run 01

Status: collection completed; nomination failed. Registered protocol (local checkout reference docs/experiments/benchmarks/catalog-builder-spill-protocol.md; not present at origin/main), revision ed5b91a2e400c81b847aaf78b626d752db1c245c; 48 build trials (local evidence omitted from stage), execution receipt (local evidence omitted from stage), independent arithmetic summary (local evidence omitted from stage).

The contained launch recorded exit0 and500.661s elapsed. Fourteen candidate production-module controls passed, including actual16/17/18-run merges, stable ties, exact tables/raw custody, malformed input and maximum-row retention. All48 fresh builds matched the historical bounded output and input hashes and their paired ordered rows/filter/pruning checks. Scratch cleanup succeeded. Command completion and exactness do not mean the nomination passed.

Combined reuse reduces full-builder cumulative requested allocation bytes only 6.57–7.54%, below the preregistered >=10% primary reduction in EVERY counted pair. All12 counted pairs miss that guard. Other declared guards and scaling passed; none substitutes for the missed primary. No production adoption follows.

Shape Requested-byte reduction, all3 pairs Allocation-call reduction, all3 pairs Median paired plain wall ratio Median paired plain CPU ratio
Steady64MiB 6.627% 13.818% 0.967750 1.000000
Steady256MiB 7.233% 14.387% 1.010459 1.008130
Adversarial64MiB 6.568% 13.816% 0.980846 0.985075
Bigrows64MiB 7.544% 12.713% 0.994054 0.964706

Plain phase-wall candidate/baseline ratios by pair: steady64:1.03899 /0.96675 /0.96775; steady256:0.98721 /1.02266 /1.01046; adversarial64:1.01170 /0.98085 /0.97461; bigrows64:1.00318 /0.94711 /0.99405. CPU ratios likewise vary; the largest regression is3.85% at steady64 pair1. No consistent speed improvement is established. Counted incremental peak increases only8bytes per build, effectively unchanged at this fixture scale; all candidate peaks satisfy80MiB and steady256/64 scaling guards.

Whole-job cgroup peak is1,611,190,272bytes (1536.55MiB), including compilation, fixture generation, controls, measurement and readback. No memory high/max/OOM events or swap were observed. Sampled scratch peak is1,004,770,042bytes on the mounted data drive. Raw resource/IO observations and compressed frozen binaries remain archived; successful owned scratch was removed.

The codec-only58.26% allocation-byte saving shrinks when measured across complete projection, sorting, Parquet/filter construction and publication. That dilution supports prioritizing other attributed costs rather than declaring a universal allocator win. Allocation calls exceed10% reduction, but changing the primary metric after this result would rewrite the registered hypothesis. These are single-worker warm-file comparisons, not mixed-signal/consumer capacity. Spool/ACK/query latency and sustained service memory remain unmeasured here. Historical C2 bigrows pruning equivalence remains failed; this bounded-to-bounded comparison preserves its existing layout and does not clear that gate.