GritFlow
The GF Cloud DB Benchmark

Sync Should Ship Kilobytes, Not Your Database

The lazy way to sync a database is to copy the whole thing. It works — until it's 200 MB and the connection is a phone. The GF Cloud DB ships only what changed: 500–1,450× smaller than the database at real scale, measured.

0.5 KB
one live update between two real processes over HTTP
128 KB
10K changed rows @ 1M-row database (gzipped)
143 KB
10K changed rows @ 3M-row database (gzipped)
~42 B/row
steady-state overhead — you'll never notice it

What offline-first sync actually costs

An offline-first data layer has one job when the connection returns: catch up fast, over whatever link exists. That makes payload size the number that matters — not throughput on a datacenter network. A delta that fits in a few kilobytes syncs over hotel Wi-Fi, a field tablet, or a folder on a shared drive. A full copy doesn't.

The numbers below are the delta-efficiency category of the GF Cloud DB Benchmark, measured 2026-07-03.

The whole database vs the GF Cloud DB delta10,000 changed rows, gzipped · measured 2026-07-03
1M-row database531× smaller
Full database file
68 MB — full file
128 KB gz — the delta
3M-row database1,448× smaller
Full database file
207 MB — full file
143 KB gz — the delta

The delta bar is drawn at minimum visible width — at true scale it would be invisible next to the file.

Measured efficiency

Delta compute for 10K changed rows8 MB peak RAM — runs on anything0.07 s
Full sync of 10K rows, end to end57,610 rows/s through the whole pipeline0.17 s
Payload at 100K-row scale53× smaller than the database file126 KB gz
Payload at 1M-row scale531× smaller than the 68 MB file128 KB gz
Payload at 3M-row scale1,448× smaller than the 207 MB file143 KB gz

The full database file moves exactly once — when a brand-new node is seeded. After that, only deltas ever cross the wire, over HTTP or even a plain folder on disk.

Small payloads mean nothing if changes can vanish

See how the benchmark proves no change is ever lost — under conflicts, kills, and 1,500-op fuzz runs.