Experiment benchmarks coupled query findings - kmosoti/FabricO11y GitHub Wiki

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

Q4 bounded descriptor reuse screen

Completed screen; no nomination. Six children retained 48 passed actual complete-chain verdicts and 144 pages under the unchanged Python oracle. The protocol (local checkout reference docs/experiments/benchmarks/coupled-query-protocol.md; not present at origin/main) defines the prospectively reduced seed 42/H8192/256-byte-body/64-Segment population, four 128-row appends and limit 1000; the tiny preflight uses H128/one Segment. This is not the larger CQ2 matrix. Both arms use shared Manifest ownership and Walk; candidate alone reuses the immutable physical descriptor container. Scan/default constructors remain unchanged.

Read-only inspection of each retained answer-map found eight passed verdicts per child, exact measured-first-page association and full drain: 24 measured-query, 12 quiet final-query and 12 missing/corrupt optional-filter control chains. Each child retains six rejected negative controls (changed/missing/duplicate rows and changed framing/missing/duplicate archive chunks), 36 controls in total. Raw rows were independently summed and agree with recorded comparison ratios.

Slice Lazy total CPU / wall (ms) Reuse total CPU / wall (ms) Reuse/lazy CPU / wall
Tiny plain preflight (local evidence omitted from stage) 6.147 / 25.853 7.171 / 28.807 1.166509 / 1.114261
64-Segment plain pair (local evidence omitted from stage) 21.493 / 41.270 20.815 / 40.894 0.968436 / 0.990878
Counted diagnostic (local evidence omitted from stage) 22.315 / 41.859 22.916 / 43.852 1.026921 / 1.047606

The single plain pair reduced native schedule CPU 3.16% and wall 0.91%, below the common 10% nomination target even before its required three fresh pairs. Tiny preflight total CPU rose 16.65%. Counted timing is diagnostic, not plain evidence. The full-population plain query CPU sum was 17.692→16.958ms; ACK CPU was 2.522→2.622ms and serialization 0.684→0.649ms. These broad phases support a small query-stage reduction in this pair, not isolation of directory/path/sort costs or a repeatable overall speedup. Only four timed first pages per child were collected; there is no credible tail-latency or production throughput claim.

Counted query requested allocation sums were 25,772,584→25,499,618 bytes, saving 272,966 bytes (1.06%). Maximum individual query-phase peak increment was 2,134,089→2,104,523 bytes. ACK sums were 1,630,332→1,630,344 bytes and serialization was 2,132,976 bytes in both arms. These are nonoverlapping phase diagnostics; maximum phase increments are not summed peaks or whole-process memory bounds. Allocation-call counts were not emitted by this probe. Neither allocated bytes nor cache charges measure copied bytes.

All three candidate children reported one build, six hits, zero fallbacks and zero held readers at reporting. Estimated retained charge was7,212 bytes tiny, 456,144 bytes plain 64-Segment and457,040 bytes counted 64-Segment. Hits include four timed queries and two quiet queries after the prime; separate fresh optional-filter Histories are excluded from those counters. Snapshot construction and prime are outside the schedule and allocation phases. Results therefore measure reuse after initial preparation, not total cold-build/lifecycle cost. The 8 MiB charge uses conservative per-generation accounting/1 KiB BTree-entry reservation, not allocator proof; independent structural/holder caps and separate selected-index vector bounds remain essential.

Controls02 (local evidence omitted from stage) exited 0 with five tests after final accessor/format capture: cache-hit publication/reclaim yields explicit Interrupted then exact retry; unchanged-label append extends coverage; four-holder overflow falls back exactly; structural/byte charge overflow and stale label acceptance are rejected; actual retention/expired page Gone, last drop and Tokio cancellation release held metadata. Controls01 also exited 0, but overlapped the accessor edit; retain its source-identity limitation and use02 as the final-source control. These finite schedules do not prove every race, same-label mutation safety or an atomic filesystem snapshot. Metadata ownership grants no file lease or additional retention eligibility.

Freeze01 (local evidence omitted from stage) retains exact source hashes and decoded/archive binary hashes; both runtime arms used the same plain or counted binary, borrowed-log compile selector 0. Freeze/preflight/pair/diagnostic coordinator jobs all exited 0 in 23.539/9.021/14.607/14.605s, with whole-job peaks 763,138,048/103,845,888/160,493,568/155,959,296 bytes, zero swap and scratch removed. Final slice accounting records 10,091,790unique-inode bytes and10,608,640 allocated bytes, below the 16 MiB initial-screen cap; global/source/receipt accounting remains the root campaign audit's responsibility. All lossless reconstruction paths and failure history remain retained. Recommendation: defer confirmation/adoption; small phase savings do not establish the required total-cost improvement.

Closeout workspace Clippy found a redundant iterator supertrait bound. The bound was simplified after measurement; catalog-coupled-clippy-02 exited0. Historical frozen timing/source provenance remains unchanged. Selected controls03 exited0 with five tests on the resulting source separately; this is not another performance pair.