Research

The numbers, measured

Every claim on this site comes from a scripted experiment on real repositories. The harness, raw output and failures are in the repository.

9
experiments, 69 seconds end to end
3
real repositories, cloned and packed
0
numbers estimated instead of measured

What we measured

Storage, upload and restore cost, each compared against the obvious naive approach.

Experiment results
Experiment Input Result Detail
Mirror vs snapshot per commit 140 commits, one real repository 99.8% smaller 0.38 MB against 154.77 MB of full trees
Append-only vs full snapshot 25 pushes 96.1% less uploaded 1.07 MB against 27.64 MB, 44 KB per push
Shared object pool 3 unrelated real repositories 31.7% saved 79.8% on 11 synthetic repos, 90.2% at 50 users
Repack against GitHub's packs Express, Hono, got 28.8–42.5% smaller A deeper delta window costs ~1–3 s per repository
Client-side encryption Identical repository shape 20.1× larger Why the cheap tier encrypts at rest, not in the browser
Blobless restore 140 commits 69.2% smaller History without file contents, one blob fetched on demand

How to read these results

The measurements include their inputs, method, and limits so you can judge what they mean.

Method

Measured from real repositories

The harness clones small, widely used repositories, builds a bare mirror, and measures bytes on disk with du. Upload size is the sum of packs that appear in the object store after each simulated push, not an estimate from compression ratios.

Snapshot-per-commit is the model most competitors use: a full copy of the working tree for every commit. It is included because it is the honest baseline, not a straw man.

Reproduce it with:

$ bun research/experiments/run.mjs
writes results.md and results.json

Limits

Where the numbers stop

  • One machine, one filesystem. Network time to R2 is excluded from upload totals.
  • The 50-user pool is synthetic: the same repositories copied under different accounts. The 31.7% figure uses three genuinely unrelated repositories.
  • Repository selection is small and biased toward JavaScript projects with lockfiles.
  • Client-side encryption was measured on one repository shape, but the mechanism is general: encrypted objects cannot delta against each other.

The public claim stays at 31.7% because it is the conservative one. The 10.17× pool figure is an upper bound from synthetic duplication and should not be quoted as a typical result.

Check it against the demo.

Every repository in the demo is a real mirror, built by the same engine.

Open the demo