Public benchmark
ZJX Basic 1.0.3 on the public http_logs-181998 corpus: 363,512,754 bytes of real web-server access logs from the public Elastic Rally http_logs corpus, one JSON record per line.
- Result
- The smallest archive of all 15 settings measured: 12,158,244 bytes, 18.6% smaller than xz -9e (14,930,844 bytes)
- Speed
- Fast mode compressed in 268.05 s against 638.34 s for xz -9e: 2.4x faster
- Verification
- Every archive was restored and checked byte-for-byte by SHA-256.
- Reproduce
- The build is a free download and the corpus is public with a pinned SHA-256. Commands, machine, raw results, and a one-command reproduction script: GreyforgeLabs/zjx-benchmarks
Release-note history: comparator campaign
- Input
- Real service telemetry, one JSONL capture from 2026-06-03: 342,409,609 bytes, 681,648 records, SHA-256 prefix
9775bf5d. The capture is private. - ZJX
- 1.29.0 REDLINE, the current release; compact and fast are unchanged from 1.28.0 (the 1.29.0 release gate confirmed byte-identical archives)
- Bytes written by
- 1.28.0 LOCKWIRE, the executable shipped in the released Linux package; executable SHA-256 prefix
10ee0d9e - Objective
- compact; the fast objective wrote 4,412,984 bytes on the same input
- Measured
- 2026-09-06
- Metric
- Complete archive bytes, format overhead included. MB is decimal (1,000,000 bytes).
- Comparators
- 14 configurations of ten tools at strong settings, the world baseline set the ZJX laboratory uses; 14/14 completed. Several tools appear with more than one setting.
- Verification
- zjx test passed; restored file matched the source SHA-256; every comparator archive was decompressed and matched too. Restored bytes were compared with the source.
- Result
- ZJX compact 4,412,984 bytes against 7,125,674 bytes for zpaq -m5: 38.1% smaller than the strongest comparator and 98.7% smaller than the raw input.
This release-note comparison measured one real service telemetry capture against fourteen comparator configurations, every archive restored and matched. Your own data is measured in a commercial evaluation. The 1.29.0 release gate confirmed byte-identical compact and fast archives against 1.28.0, so this result, written by the 1.28.0 LOCKWIRE executable on 2026-09-06, is the 1.29.0 result.
All configurations
| Configuration | Archive bytes | Decimal MB | Compared with ZJX compact | Completion and restore check |
|---|---|---|---|---|
| ZJX 1.29.0 compact | 4,412,984 | 4.41 MB | featured ZJX result | completed, restored and matched |
| ZJX 1.29.0 fast | 4,412,984 | 4.41 MB | ZJX compact is same size | completed, restored and matched |
| zpaq -m5 | 7,125,674 | 7.13 MB | ZJX is 38.1% smaller (strongest comparator) | completed, restored and matched |
| zstd --ultra -22 --long=31 (tar) | 7,280,110 | 7.28 MB | ZJX is 39.4% smaller | completed, restored and matched |
| brotli -q 11 (tar) | 7,345,538 | 7.35 MB | ZJX is 39.9% smaller | completed, restored and matched |
| xz -9e (tar) | 7,612,052 | 7.61 MB | ZJX is 42.0% smaller | completed, restored and matched |
| zstd -19 --long=31 (tar) | 7,800,328 | 7.80 MB | ZJX is 43.4% smaller | completed, restored and matched |
| zstd -19 (tar) | 8,149,050 | 8.15 MB | ZJX is 45.8% smaller | completed, restored and matched |
| 7-Zip LZMA2 -mx=9, single thread | 9,392,518 | 9.39 MB | ZJX is 53.0% smaller | completed, restored and matched |
| 7-Zip LZMA2 -mx=9 | 9,666,962 | 9.67 MB | ZJX is 54.3% smaller | completed, restored and matched |
| RAR5 -m5 | 9,842,920 | 9.84 MB | ZJX is 55.2% smaller | completed, restored and matched |
| 7-Zip PPMd -mx=9 | 12,612,270 | 12.61 MB | ZJX is 65.0% smaller | completed, restored and matched |
| bzip2 -9 (tar) | 34,456,468 | 34.46 MB | ZJX is 87.2% smaller | completed, restored and matched |
| gzip -9 (tar) | 40,176,031 | 40.18 MB | ZJX is 89.0% smaller | completed, restored and matched |
| zip -9 (deflate) | 40,176,334 | 40.18 MB | ZJX is 89.0% smaller | completed, restored and matched |
| lz4 -12 (tar) | 56,999,958 | 57.00 MB | ZJX is 92.3% smaller | completed, restored and matched |
The strongest comparator is the smallest completed and verified non-ZJX archive. Percentages are 100 × (1 − ZJX bytes ÷ comparator bytes).
Every row on one scale
A linear axis from zero to the largest archive, 57.00 MB. No row is rescaled, truncated, or omitted.
- ZJX 1.29.0 compact4,412,984
- ZJX 1.29.0 fast4,412,984
- zpaq -m57,125,674
- zstd --ultra -22 --long=31 (tar)7,280,110
- brotli -q 11 (tar)7,345,538
- xz -9e (tar)7,612,052
- zstd -19 --long=31 (tar)7,800,328
- zstd -19 (tar)8,149,050
- 7-Zip LZMA2 -mx=9, single thread9,392,518
- 7-Zip LZMA2 -mx=99,666,962
- RAR5 -m59,842,920
- 7-Zip PPMd -mx=912,612,270
- bzip2 -9 (tar)34,456,468
- gzip -9 (tar)40,176,031
- zip -9 (deflate)40,176,334
- lz4 -12 (tar)56,999,958
Derivation
Exact bytes are the stored facts; percentages and megabytes are derived at build time and in the browser from the same module, so every surface rounds the same way.
signed_reduction_percent = 100 × (1 − Z / C) with comparator bytes C > 0
raw_reduction_percent = 100 × (1 − Z / R) with raw input bytes R > 0
MB = bytes / 1,000,000
Featured values: Z = 4,412,984, C = 7,125,674, R = 342,409,609. Result: 38.1% against the comparator, 98.7% against raw input. Nothing is calculated from rounded megabyte strings.
Creation time
ZJX fast wrote the smallest archive and finished ahead of these comparator configurations. Single sequential runs on the quiesced ZJX laboratory host; ZJX speed is qualified in the REDLINE campaigns below.
| Configuration | Archive bytes | Creation wall s |
|---|---|---|
| ZJX 1.29.0 fast | 4,412,984 | 187.7 |
| zpaq -m5 | 7,125,674 | 199.2 |
| zstd --ultra -22 --long=31 (tar) | 7,280,110 | 460.4 |
| brotli -q 11 (tar) | 7,345,538 | 293.2 |
| xz -9e (tar) | 7,612,052 | 350.3 |
REDLINE verified-creation campaigns
Verified creation: archive creation plus an independent integrity check, 12 paired rounds per campaign, class-weighted geometric mean of per-round ratios, 95% bootstrap intervals. Subject: ZJX 1.29.0 ultrafast objective, four workers, then an independent test. Comparator: tar | zstd -1 (default, single admitted thread), verified by zstd -t. Host: Dedicated, quiesced laboratory host, 8 logical CPUs; the measured executable is the one shipped in the released package. A ratio is comparator time over ZJX time, so a value above 1 means ZJX was faster. The two campaigns measured different cohorts and each is reported on its own.
Development cohort
Sealed development cohort: silesia, enwik8, and a synthetic deduplication case; 12 paired rounds, 468 of 468 cells usable.
1.247x the verified-creation speed of default tar | zstd -195% [1.223, 1.267]; Bonferroni over the three preregistered primary comparisons, lower bound 1.221
Against default tar | zstd -1
Primary comparison: 95% [1.223, 1.267], Bonferroni-adjusted lower bound 1.221.
Held-out cohort (one shot)
Four sealed members plus six privately held-out cases (about 1.86 GB, six workload classes) selected by a rule frozen before any measurement; ten classes, 12 paired rounds, 360 of 360 cells usable, run once. Held out and unseen at the freeze, measured once against the unchanged package.
1.1959x the verified-creation speed of default tar | zstd -195% [1.1867, 1.2043]; 6 of 6 held-out cases restored exactly before the timed rounds
Against default tar | zstd -1
Reported lane: 95% [1.1867, 1.2043]. Per-case results reach 1.972x on silesia (public).
Development cohort: worker settings
Sealed development cohort: silesia, enwik8, and a synthetic deduplication case; 12 paired rounds, 468 of 468 cells usable. Archive bytes were identical at every worker count and byte-identical to both earlier pre-release builds. The qualified ultrafast configuration with four workers admits about 65 MiB with the default settings and four workers (peak about 71 MB at four workers).
| ZJX setting | Ratio | 95% bootstrap | Reading |
|---|---|---|---|
| --workers 2 | 1.062x | [1.046, 1.077] | ZJX faster |
| qualified configuration (ultrafast, four workers) | 1.247x | [1.223, 1.267] | ZJX faster |
| --workers 4, explicit | 1.261x | [1.242, 1.282] | ZJX faster |
Four workers is the sweet spot: it beats one, two, and eight workers, on this development cohort.
Held-out cohort: per-case results
Four sealed members plus six privately held-out cases (about 1.86 GB, six workload classes) selected by a rule frozen before any measurement; ten classes, 12 paired rounds, 360 of 360 cells usable, run once. The six held-out cases were selected by a written eligibility rule and a deterministic hash before any compressor touched them, frozen with a manifest, and measured once against the unchanged package; 6 of 6 held-out cases restored exactly before the timed rounds. They are described here by workload class and size only. Each ratio compares ZJX ultrafast with four workers against tar | zstd -1 (default, single admitted thread), verified by zstd -t.
| Case | Status | Class | Input bytes | vs default tar | zstd -1 |
|---|---|---|---|---|
| Production service telemetry capture, a later day than the sealed one | held out | structured records | 821,029,763 | 1.820x faster |
| Application log | held out | application logs | 195,392,109 | 1.402x faster |
| Agent session trace | held out | agent traces | 84,846,090 | 1.139x faster |
| Repository working tree, 24,997 files | held out | mixed repository | 575,334,250 | 1.052x faster |
| Service telemetry capture, 2026-06-03 | sealed | service telemetry | 342,409,609 | 1.564x faster |
| enwik8 (public) | sealed | bulk text | 100,000,000 | 1.785x faster |
| silesia (public) | sealed | public mixed | 211,938,580 | 1.972x faster |
Every REDLINE product gate passed on the published package, including the preregistered held-out gate.
Public release record · REDLINE source note · Release Chronicle · The 1.29 support contract
1.30.0 against 1.29.7
Up to 25.7% smaller archives and up to 4.1x faster packing than 1.29.7, on five public corpora and one laboratory host, AMD Ryzen 3 7330U, 4 cores / 8 threads, Ubuntu 24.04. Medians; the two versions ran in alternating order on each repetition, packing three times (ultrafast thirty) and restoring five times, and every restore was checked against the content digest. Ratios are 1.29.7's time over 1.30.0's.
| Corpus | Archive | Packing |
|---|---|---|
| silesia | 8.66% smaller | 2.08x faster (222.9 s to 107.3 s) |
| Go 1.27.3 source code | 7.98% smaller | 2.14x faster (172.4 s to 80.7 s) |
| GH Archive, one day | 2.71% smaller | 4.09x faster (170.3 s to 41.6 s) |
| http_logs | 0.36% smaller | 3.44x faster (367.6 s to 107.0 s) |
| enwik8 | 0.25% smaller | 3.45x faster (295.9 s to 85.7 s) |
| Corpus | Archive | Packing | Restore |
|---|---|---|---|
| Go 1.27.3 source code | 25.72% smaller | 2.09x faster | 2.03x faster |
| silesia | 8.02% smaller | 1.52x faster | 1.48x faster |
| GH Archive, one day | 2.71% smaller | 2.57x faster | 1.24x faster |
| http_logs | 0.36% smaller | 2.39x faster | 2.22x faster |
| enwik8 | 0.25% smaller | 2.13x faster | 1.15x faster |
ultrafast: 1.42x to 2.10x faster restores on all five corpora, with the same archives as 1.29.7. 1.29.7 restored every archive 1.30.0 wrote in these measurements. The 1.30.0 release · Public release record · Release Chronicle (free)
Results since 1.29.0
Each point release of the 1.29 line was qualified against the release before it on one laboratory host, AMD Ryzen 3 7330U, 4 cores / 8 threads, Linux. Ratios are the earlier version's time over the later version's, so a value above one is faster. Outcome figures only; every result restored exactly.
| Release | Headline result | Scope |
|---|---|---|
| 1.29.5 GRIDMIND (2026-09-24) | 1.36x faster verified creation and 1.24x less CPU than 1.29.0; 2.29x from using the machine's cores | Aggregate over 8 corpora and 6 CPU placements (48 cells) against released 1.29.0 ultrafast; archive bytes unchanged |
| 1.29.6 IRONFLOOR (2026-10-06) | 1.74x faster verified creation than 1.29.0 (1.20x in the slowest cell), 1.50x less CPU, 3.27x lower peak memory | Faster than 1.29.0 in every measured cell (48 primary cells plus sealed and fresh holdout tiers) with byte-identical archives |
| 1.29.6.5 SIGHTLINE (2026-10-08) | 1.14x to 12.80x faster verified creation for the fast objective on already-compressed media, archive size within +1% of 1.29.6 | The fast objective on already-compressed media; every other archive byte-identical to 1.29.6 |
| 1.29.6.6 (2026-10-12) | Reliability for JSON-lines data | A reliability release for JSON-lines data; every other archive byte-identical to 1.29.6.5, with creation and verification times unchanged |
| 1.29.7 (2026-10-19) | 1.08x to 2.00x less extraction CPU than 1.29.6.5 | Lighter restores: extraction used 1.08x to 2.00x less CPU than 1.29.6.5 in every measured extraction cell, with identical output; qualified and first distributed inside 1.30.0 |
The REDLINE campaigns above compare 1.29.0 with tar | zstd and remain the line's external speed reference; they were not rerun for the point releases. Every release · The 1.29 line Chronicle (free)
How to read a measurement
Start with the version, dataset, settings, and comparison target. Then ask which operation was measured, whether every comparator completed, and exactly what was verified. Complete archive size includes format overhead; comparing it with raw input answers a different question from comparing it with another compressed archive, and the second question is the one that prices a migration.
- Creation time: elapsed time to make an archive. Less time is not the same percentage as increased speed. Qualified timings come from a dedicated controlled host.
- Memory: peak RSS is observed process memory. Configured limits and reserved memory are separate quantities.
- Restoration: archive integrity testing, exact source comparison, and metadata comparison must be named separately.
- Money: multiply the size advantage by eligible retained bytes and the storage rate you actually pay, then subtract compute, temporary space, migration, licensing, and restoration cost. The savings page does the first step only.
Missing measurements are Not reported, never zero.
Historical records
Earlier results from before the current campaign format, listed for lineage. Some compare with raw input rather than a competitor archive.
Previous campaign on the same input
ZJX 1.27 CIPHERGLASS (2026-09-05, development host) wrote 4,412,968 bytes for the compact objective against the same 7,125,674-byte strongest comparator. The 1.28.0 archive adds exactly 16 bytes: the manifest-integrity footer 1.28 LOCKWIRE adds to every archive. Previous campaign source note
Size records before 1.25.1 NIGHTMARKET
| Dataset | Input | ZJX archive | Comparator archive |
|---|---|---|---|
| Service telemetry (the release-note capture, earlier build) | 342,409,609 | 4,412,968 | 7,125,674 |
| Combined service telemetry | 1,256,880,590 | 21,881,739 | 25,717,553 |
| Generated compact JSONL | 1,107,297,288 | 13,088,371 | 56,367,866 |
| Generated sharded NDJSON | 256,002,048 | 2,451,123 | 3,976,428 |
| Generated workflow artifacts | 10,655,252 | 27,126 | 186,018 |
Earlier ZJX builds, listed for lineage. Historical source note, updated 2026-08-22
Raw-input example: Silesia v1, ZJX 1.21 STREAMWALL
Twelve files from a public benchmark collection, compared with the uncompressed input rather than a competitor archive. The 2026-08-30 record reports integrity testing and exact extraction under a 1 GiB host ceiling, 768 MiB ZJX memory ceiling, and 64 GiB temporary-disk ceiling.
| Quantity | Exact bytes | Decimal MB |
|---|---|---|
| Uncompressed input | 211,938,580 | 211.938580 |
| Complete ZJX archive | 52,997,299 | 52.997299 |
The reduction is 100 × (1 − 52,997,299 / 211,938,580) = 74.994%, rounded to 75.0%. Original source note, archive digest, and conditions
Release-to-release measurements
1.25.1 NIGHTMARKET (Fast versus Compact on four corpora) and 1.26 RELICWIRE (1.26 versus 1.25.1 creation time on two corpora) are release-to-release results, not competitor comparisons. They are summarized with their scope on the releases page. The REDLINE predecessor gate (ultrafast against released 1.28.0 fast: a creation ratio of 335x and a verified-creation ratio of 253x on the four-member cohort at the diagnostic tier) compares two objectives with different goals within ZJX.
Sources
- Telemetry comparator campaign source note, 2026-09-06: commands for every comparator, tool versions and executable digests, hashes, per-run observations
- Previous telemetry comparator campaign source note (ZJX 1.27 CIPHERGLASS), 2026-09-05
- ZJX 1.29.0 REDLINE public release record and source note: the qualified verified-creation figures and the held-out campaign
- GreyforgeLabs/zjx-benchmarks: the public benchmark with corpus, commands, raw results, and reproduction script
- Benchmark ledger on greyforge.tech
- Research index: every public source note and release record
The evaluation report includes the commands for your data. Commercial evaluation