Specs
ZJX, measured.
The size and speed campaigns, a recorded archive run, the archive contract, and the current release. Every figure links to its record.
Three objectives
One format, three ways to build it.
Every objective writes the same format and restores the same bytes. The newest arrived in 1.29.0.
when size matters
Compact
Tries several representations of each input and keeps the smallest complete archive. Byte-identical to 1.28.0 across the qualification corpora.
Creating archiveswhen balance matters
Fast
A reduced schedule: less creation time, still size-first. Byte-identical to 1.28.0 across the qualification corpora.
Creating archiveswhen wall time matters
Ultrafast
New in 1.29. One Zstandard level-1 pass per unit, packed and verified in parallel on four workers in the qualified speed configuration (up to eight). Trades some archive size for wall time; every integrity guarantee holds.
The 1.29 support contract
Measured result
38.1% smaller than the best of 14 configurations.
One real service telemetry capture, archived by ZJX compact and 14 comparator configurations at strong settings. Pick a configuration to compare.
38.1% smaller zpaq -m5
ZJX 1.29.0 compact: 4,412,984 bytes. zpaq -m5: 7,125,674 bytes. ZJX is 38.1% smaller.
Real telemetryComplete archive sizesByte-exact restores
Campaign source noteAll 14 comparator configurations
Every configuration as a table
| Configuration | Archive bytes | Compared with ZJX compact | Restored and matched |
|---|---|---|---|
| ZJX 1.29.0 compact | 4,412,984 | ZJX result | yes |
| ZJX 1.29.0 fast | 4,412,984 | ZJX result | yes |
| zpaq -m5 | 7,125,674 | ZJX is 38.1% smaller (strongest comparator) | yes |
| zstd --ultra -22 --long=31 (tar) | 7,280,110 | ZJX is 39.4% smaller | yes |
| brotli -q 11 (tar) | 7,345,538 | ZJX is 39.9% smaller | yes |
| xz -9e (tar) | 7,612,052 | ZJX is 42.0% smaller | yes |
| zstd -19 --long=31 (tar) | 7,800,328 | ZJX is 43.4% smaller | yes |
| zstd -19 (tar) | 8,149,050 | ZJX is 45.8% smaller | yes |
| 7-Zip LZMA2 -mx=9, single thread | 9,392,518 | ZJX is 53.0% smaller | yes |
| 7-Zip LZMA2 -mx=9 | 9,666,962 | ZJX is 54.3% smaller | yes |
| RAR5 -m5 | 9,842,920 | ZJX is 55.2% smaller | yes |
| 7-Zip PPMd -mx=9 | 12,612,270 | ZJX is 65.0% smaller | yes |
| bzip2 -9 (tar) | 34,456,468 | ZJX is 87.2% smaller | yes |
| gzip -9 (tar) | 40,176,031 | ZJX is 89.0% smaller | yes |
| zip -9 (deflate) | 40,176,334 | ZJX is 89.0% smaller | yes |
| lz4 -12 (tar) | 56,999,958 | ZJX is 92.3% smaller | yes |
Qualified speed result
Ultrafast outpaces default tar | zstd -1 on both cohorts.
Create plus independent verify: 1.29.0 ultrafast with four workers against default tar | zstd -1 on a quiesced lab host. Each cohort is reported on its own.
Development cohort (RG017)
Sealed development cohort: silesia, enwik8, and a synthetic deduplication case; 12 paired rounds, 468 of 468 cells usable. The cohort the recipe was calibrated on.
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; archive bytes 1.0005x the comparator's
Against default tar | zstd -1
Primary comparison: 95% [1.223, 1.267], Bonferroni-adjusted lower bound 1.221.
Held-out cohort (RG018, 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]. Faster on seven of ten cases.
Two cohorts, reported apart95% intervalsOne cohort held out
Since 1.29.0: 1.29.6 IRONFLOOR is faster than 1.29.0 in every measured cell, 1.74x faster verified creation overall with byte-identical archives, and 1.29.6.5 SIGHTLINE makes the fast objective 1.14x to 12.80x faster on already-compressed media. Results since 1.29.0
Both campaigns in full1.29.0 release record1.29 REDLINE Chronicle (free)
Interactive archive walkthrough
Handle a recorded archive.
Recorded example. This page does not run ZJX or upload files.
A small synthetic project, archived once with the released 1.28.0 package, inspected and restored. Every control replays a saved outcome.
1Create
Recorded input: 6 files, 1 symbolic link, and 6 directories, 51,849 bytes in total. Synthetic, public-safe fixture generated by a seeded script: made-up service events, a settings file, a latency summary, a rotation script, and one relative symbolic link. No customer data.
- Product
- ZJX 1.28.0 LOCKWIRE, released package (executable SHA-256 prefix 10ee0d9e)
- Objective and profile
- compact objective, exact metadata profile
- Recorded archive
- 5,164 bytes, digest prefix 8cdc660a4fad
- Publication
- committed, cleanup complete, durability synchronized
- Metadata loss
- none (nothing was refused or dropped)
| Member | Type | Bytes or target | Mode | Modified (UTC) |
|---|---|---|---|---|
| README.md | file | 730 | 0644 | 2026-09-05T07:00:00.123456789Z |
| config/ | directory | 0755 | 2026-09-05T07:00:00.000000000Z | |
| config/settings.json | file | 303 | 0644 | 2026-09-05T07:01:00.000000000Z |
| docs/ | directory | 0755 | 2026-09-05T07:00:00.000000000Z | |
| docs/latest-readme.md | symbolic link | ../README.md | link | 2026-09-05T07:00:00.123456789Z |
| logs/ | directory | 0755 | 2026-09-05T07:00:00.000000000Z | |
| logs/service-2026-09-01.jsonl | file | 23,914 | 0644 | 2026-09-06T07:59:59.987654321Z |
| logs/service-2026-09-02.jsonl | file | 26,466 | 0644 | 2026-09-07T07:59:59.500000000Z |
| reports/ | directory | 0755 | 2026-09-05T07:00:00.000000000Z | |
| reports/latency-summary.csv | file | 197 | 0644 | 2026-09-07T08:02:00.250000000Z |
| scripts/ | directory | 0755 | 2026-09-05T07:00:00.000000000Z | |
| scripts/rotate-logs.sh | file | 239 | 0755 | 2026-09-05T07:02:00.000000001Z |
2Inspect
Recorded inspection of the archive: listing complete with 13 members, decoder readiness ready, manifest integrity sha256-prefix-16, payload digests verified without extracting (51,849 file bytes).
Select a member in the list to see its recorded metadata.
- Member
- Type
- Size or target
- Mode
- Modified (UTC)
- Content digest
3Restore
Recorded full restore into a fresh destination: 6 files and 1 link, 51,849 bytes, publication committed. Dry run first reported destination absent and 6 planned files.
Recorded match: every member compared equal to its source
| Member | Compared | Content or target | Permission bits | Modified time (ns) |
|---|---|---|---|---|
| README.md | contents (SHA-256) | match | match | match |
| config/ | directory | n/a | match | match |
| config/settings.json | contents (SHA-256) | match | match | match |
| docs/ | directory | n/a | match | match |
| docs/latest-readme.md | link target | match | not stored | match |
| logs/ | directory | n/a | match | match |
| logs/service-2026-09-01.jsonl | contents (SHA-256) | match | match | match |
| logs/service-2026-09-02.jsonl | contents (SHA-256) | match | match | match |
| reports/ | directory | n/a | match | match |
| reports/latency-summary.csv | contents (SHA-256) | match | match | match |
| scripts/ | directory | n/a | match | match |
| scripts/rotate-logs.sh | contents (SHA-256) | match | match | match |
Selected restore
One member, logs/service-2026-09-02.jsonl, restored on its own: 26,466 bytes, contents match, permission bits match, modified time match. The whole archive is verified before a selection is published.
Owner and group are never stored. Parent folders created by the selected restore carry the restore time, as the support matrix describes. Listing, testing, and comparing restored content are separate recorded facts; none stands in for another.
Capabilities
What an archive holds.
Four parts of one archive. The docs carry the full support contract.
Members
Files, directory trees, and safe relative symbolic links from one input or many, with file lists and include and exclude filters. Members list without extracting.
Creating and listing archivesVerification
Every payload carries a digest and every archive since 1.28 carries a manifest digest footer. Testing checks them without extracting; a restore verifies the whole archive before anything is published.
Inspecting and verifyingProtection
A password-protected archive wraps an ordinary archive in an authenticated-encryption envelope, so names and metadata are encrypted with the contents.
Password-protected archivesRestore
Restore everything or selected members into a fresh destination published with one atomic rename. Contents, permission bits, nanosecond timestamps, and safe links come back under the exact profile.
Restoring and the fidelity contract
Current release
ZJX 1.29.6.6
Released 2026-10-12Linux x86-64Tag v1.29.6.6
ZJX 1.29.6.6 is the current release, and ZJX 1.29 REDLINE is the current release line. Since 1.29.0 it added an adaptive resource planner (1.29.5 GRIDMIND), ran faster than 1.29.0 in every measured cell (1.29.6 IRONFLOOR), sped up fast mode on already-compressed media (1.29.6.5 SIGHTLINE), and hardened JSON-lines handling (1.29.6.6).
Release historyThe 1.29 line ChronicleCommercial evaluationStorage economics
Package access
The command-line engine, for teams.
Linux x86-64, two executables, JSON results for pipelines. Request the package and its terms from Greyforge Labs; verify it against the published checksums.