The matrix repeated the same governed storage-COW branch benchmark over three verified Postgres sources: 100 million, 1 billion, and 5 billion rows. Each run verified numeric ID coverage first, then created twenty branches, wrote inside the branch, cleaned it up, and checked that the source table remained unchanged.
The important result is not that every number stayed flat. It did not. The important result is that correctness held at every scale, and the latency change was traceable to metadata and proof capture instead of hidden row copying.
All three scales passed coverage, isolation, cleanup, and proof.
The p50 branch-create number widened with source size:19.4ms at 100M, 30.53ms at 1B, and 65.17ms at 5B. Branch writes and cleanup stayed small, and source mutations stayed at zero.
| Scale | Source size | Coverage | Create p50 / p95 | Create max | Tx p50 | Cleanup p50 | Mutations | Proof |
|---|---|---|---|---|---|---|---|---|
| 100M | 13.24 GiB | 2/2 | 19.4ms / 32.43ms | 490.89ms | 11.19ms | 9.22ms | 0 | 6/6 |
| 1B | 136.67 GiB | 20/20 | 30.53ms / 56.09ms | 3334.52ms | 12.47ms | 9.03ms | 0 | 6/6 |
| 5B | 794.94 GiB | 100/100 | 65.17ms / 231.67ms | 16217.07ms | 9.52ms | 8.34ms | 0 | 6/6 |
The 5B p95 widened, and that is the finding.
The cold first branch-create sample was high at every scale. More importantly, the 5B warm distribution widened: most samples sat around 62-67ms, but the second-highest create sample hit 231.67ms. That is why the 5B p95 should be reported, not hidden.
| Scale | Cold first create | Warm min | p50 | p95 |
|---|---|---|---|---|
| 100M | 490.89ms | 17.92ms | 19.4ms | 32.43ms |
| 1B | 3334.52ms | 27.22ms | 30.53ms | 56.09ms |
| 5B | 16217.07ms | 62.23ms | 65.17ms | 231.67ms |
Metadata probing reproduced the same size-shaped curve.
The branch create path records a source fingerprint and relation-size metadata. That includes calls such as pg_total_relation_size and pg_indexes_size. Those calls do not copy source rows into the branch, but at 5B they are visibly larger and more variable because the table and index set are much larger.
| Scale | Probe size | Metadata p50 | Metadata p95 | Metadata max |
|---|---|---|---|---|
| 100M | 15.33 GiB | 6.01ms | 8.42ms | 4897.01ms |
| 1B | 157.59 GiB | 15.59ms | 25.01ms | 4489.33ms |
| 5B | 794.94 GiB | 63.7ms | 184.97ms | 14317.76ms |
Moving exact size accounting out of the hot path cut the 5B p95.
A follow-up run used the same verified 5B source and the same twenty storage-COW branch samples, but switched the source fingerprint to catalog-estimated size metadata. The branch still recorded the schema hash, estimated rows, source relation, isolated write, cleanup, zero source mutations, and proof checks. The hot create path dropped to 15.96ms p50 and 20.61ms p95.
| Mode | Proof metadata | Create p50 / p95 | Create max | Mutations | Proof |
|---|---|---|---|---|---|
| Before | Exact relation-size proof metadata | 65.17ms / 231.67ms | 16217.07ms | 0 | 6/6 |
| After | Catalog-estimated source-size metadata | 15.96ms / 20.61ms | 225.94ms | 0 | 6/6 |
The phase split shows the remaining steady-state work is mostly branch DDL, not source-size probing.
| Phase | p50 / p95 | Max |
|---|---|---|
| Schema setup | 0.23ms / 0.5ms | 1.29ms |
| Source metadata | 3.86ms / 6.56ms | 34.03ms |
| Branch DDL | 10.28ms / 14.2ms | 22.42ms |
| Storage branch total | 15.78ms / 19.7ms | 222.79ms |
The safe claim is narrower and stronger.
| What stayed strong | Every scale had complete numeric coverage, twenty storage-COW branch samples, 0 source mutations, and 6/6 proof checks. |
|---|---|
| What changed at 5B | The 5B create p50 and p95 widened. The branch still did not copy source rows, but source metadata and fingerprint capture became visibly larger. |
| Why the tail widened | Read-only metadata probes reproduced the same curve. The current create path records relation size and index-size metadata before the branch proof packet is complete. |
| Next optimization | The first fix is now validated: keep exact metadata available for audit runs, but use catalog-estimated source-size metadata for the hot branch path. |
The combined artifact is public.
The JSON artifact links the three scale runs and includes the metadata-probe investigation used to explain the 5B tail.
