This page is also available in Dutch. Bekijk in het Nederlands

Compression that reads your data first.

invariantify looks at the structure in your data before choosing how to compress it. Different data compresses differently, so we measure by domain and publish the results below, including the worst one.

invariantify — measured compression benchmarks INV-01 Rev A Sheet 01 of 06
No.Data domainMeasured resultRemark
01Structured data (JSON)17.3×Full 912 MB GitHub Archive event dump, not a sample
02Backups and version history71.4×20-version incremental backup set, cross-file dedup
03vs. zstd, xz, bzip2, brotli (max level)0 losses45 wins, 20 ties across 65 real files; up to 1.75× tighter on the best case
04Documents (PDF)3.8–6.2×Varies by how much of the PDF is already-compressed image data
05Log files (Apache, HDFS, Linux, OpenSSH, Spark, Zookeeper, HealthApp)12.3–56.6×7 real production log formats from the LogHub benchmark set
06Already-compressed binary media (JPEG, PNG)1.0×The floor. Measured on all 24 Kodak reference images. Compressed data leaves nothing to gain.

All values are measured, not projected, logged run by run. Row 06 is the worst case and it is printed on purpose.

See the per-file data behind rows 01–05 (33 files, zstd/xz/bzip2/brotli at max level)

Calgary corpus (general text & code, 18 files)

FileOriginalinvariantifyRatioBest of zstd/xz/bzip2/brotli
bib111,26122,7454.89×4.05× (bzip2)
book1768,771204,2773.76×3.30× (bzip2)
book2610,856134,5524.54×3.88× (bzip2)
geo102,40048,1492.13×2.12× (brotli)
news377,10999,7753.78×3.34× (brotli)
obj121,5049,3572.30×2.30× (brotli)
obj2246,81461,4724.02×4.02× (xz)
paper153,16113,1614.04×3.44× (brotli)
paper282,19920,3224.04×3.31× (brotli)
paper346,52612,2143.81×3.17× (brotli)
paper413,2863,6553.64×3.09× (brotli)
paper511,9543,6613.27×2.92× (brotli)
paper638,1059,6693.94×3.42× (brotli)
pic513,21633,90915.14×15.14× (bzip2)
progc39,6119,9054.00×3.40× (brotli)
progl71,64612,0375.95×5.11× (brotli)
progp49,3798,5725.76×4.99× (brotli)
trans93,69513,4506.97×6.08× (brotli)

Canterbury corpus (general text, code, spreadsheet, fax, 11 files)

FileOriginalinvariantifyRatioBest of zstd/xz/bzip2/brotli
alice29.txt152,08935,7514.25×3.52× (bzip2)
asyoulik.txt125,17933,3693.75×3.16× (bzip2)
cp.html24,6036,1893.98×3.56× (brotli)
fields.c11,1502,2684.92×4.08× (brotli)
grammar.lsp3,7211,0123.68×3.26× (brotli)
kennedy.xls (spreadsheet)1,029,74426,70638.56×38.56× (bzip2)
lcet10.txt426,75490,4734.72×3.96× (bzip2)
plrabn12.txt481,861129,3783.72×3.31× (bzip2)
ptt5 (fax scan)513,21633,90915.14×15.14× (bzip2)
sum38,2409,5164.02×4.02× (xz)
xargs.14,2271,3073.23×2.86× (brotli)

Documents (PDF)

FileOriginalinvariantifyRatioBest of zstd/xz/bzip2/brotli
reymont (Silesia corpus, Polish novel)6,627,2021,068,8306.20×5.34× (bzip2)
attention.pdf (public arXiv paper)2,215,244584,2843.79×3.79× (xz, tie)

Log files (LogHub production log formats, 7 files)

FileOriginalinvariantifyRatioBest of zstd/xz/bzip2/brotli
Apache_2k.log171,2393,02556.61×34.14× (zstd)
OpenSSH_2k.log225,2165,16243.63×30.68× (xz)
Linux_2k.log216,4856,63232.64×26.77× (zstd)
Spark_2k.log196,2686,61129.69×27.93× (xz)
HealthApp_2k.log187,4567,25225.85×20.16× (xz)
Zookeeper_2k.log279,89111,27424.83×18.85× (bzip2)
HDFS_2k.log287,84823,31712.35×10.24× (zstd)

Already-compressed binary media (the floor)

FileOriginalinvariantifyRatioBest of zstd/xz/bzip2/brotli
kodim01–24.png (all 24 Kodak reference images, identical result)736,501 avg736,517 avg1.0000×≤1.00× (none compress it either)
kodim01/05/12/18.jpg (4 derived JPEGs, identical result)182,274 avg182,290 avg0.9999×≤1.00× (none compress it either)
02 · Where it pays off

Cloud storage & model hubs

Petabytes of user files and artifacts, most of them structured or repetitive. Across 65 real files tested at max settings, invariantify never lost to standalone zstd, xz, bzip2, or brotli, so switching is never a downside on the files those tools already handle well.

Backup & disaster recovery

Version history is the most redundant data there is, which is why it is our best measured result at 71.4x on a 20-version backup set. Longer retention in the same footprint, and restores move less data over the wire.

Data pipelines & warehouses

JSON events are highly structured, measured at 17.3x on a full 912 MB dump, not a favorable sample. Application logs are even more repetitive: up to 56.6x on real Apache logs. Compressing them well cuts both the storage bill and the egress bill, at every hop where the data sits or moves.

03 · The floor

We show the floor on purpose

On already-compressed binary media such as JPEG and PNG, invariantify measures 1.0x across all 24 images in the standard Kodak reference set. That is the honest floor, and it is on this page because a benchmark table without a worst case is an advertisement, not a measurement. PDFs turned out not to belong in this floor: two real documents we tested measured 3.8x and 6.2x, since a PDF's own internal structure varies far more than an already-DCT-compressed image does. If most of your data is genuinely already-compressed pixels, we will tell you the gains are modest before you spend a day integrating anything.

04 · Questions we actually get

How does this compare to zstd or xz?

zstd and xz are excellent general-purpose compressors and we do not pretend otherwise. invariantify differs in one way we can state without disclosing the method: it looks at the structure in your data before choosing how to compress it, then still checks its choice against zstd, xz, bzip2, and brotli at their own maximum settings. Across 65 real files tested this way, it never lost: 45 outright wins, 20 ties, up to 1.75x tighter than the best single alternative on the best case. A full methodology will be published with the evaluation build so you can reproduce the comparison on your own data.

Is it open source?

Not today. The core is proprietary. We plan a public evaluation build so you can verify these numbers on your own data before committing to anything, which we think matters more than reading our source.

What happens with files that are already compressed?

On genuinely already-compressed binary media, such as JPEG and PNG, you get about 1.0x, the floor in the table above. PDFs are a partial exception, since they often carry their own compressible structure: two real PDFs we tested measured 3.8x and 6.2x. If your data is mostly already-compressed pixels rather than documents, the size gains alone probably do not justify a migration, and we will say so when you tell us what you store.

When is it available?

We are pre-launch. Private pilots come first, prioritized by data type, since the gains depend on what you store. Leave your details below and tell us what your data looks like; that is genuinely the fastest route in.

05 · Pilot access

Tell us what you store

We reply with what the measured numbers say about your data type, including when the answer is that the gains would be modest. No drip campaign follows.