Skip to main content

02 / Lossless archives

ZJXSmaller archives.
The same bytes back.

ZJX is a Linux lossless archive system for logs, telemetry, and structured data, built by Greyforge Labs. On a real 342 MB service telemetry capture, ZJX compact wrote an archive 38.1% smaller than the strongest of 14 mainstream archivers at their strongest settings, then restored the file byte for byte. The new ultrafast objective in ZJX 1.29 REDLINE is for the job that has to finish now.

Linux x86-64 · 1.29.0 released 2026-09-08 · Paid evaluation by arrangement

Measured 2026-09-06 / Real service telemetry, one JSONL capture from 2026-06-03
ZJX 1.28.0 LOCKWIRE · compact objective · 14 archivers, all completed

38.1%

smaller than the strongest comparator

Strongest comparator (zpaq -m5)
7.13 MB (7,125,674 bytes)
ZJX archive
4.41 MB (4,412,984 bytes)

Raw input 342.41 MB, so 98.7% smaller than raw. zjx test passed; restored file matched the source SHA-256; every comparator archive was decompressed and matched too. Complete archive bytes, format overhead included. MB uses 1,000,000 bytes. One dataset; results depend on the workload.

Every comparator, exact bytes, and derivation ↗

Watch

The desktop app, doing the job.

Three minutes, end to end: create, verify, and restore on real service telemetry, in the ZJX desktop app.

Posted September 7, 2026 · Watch on X ↗

Availability

Linux x86-64.
Evaluation by arrangement.

ZJX 1.29 REDLINE is the current release, shipped 2026-09-08 for Linux x86-64. It adds the ultrafast objective beside compact and fast, with four workers in the qualified speed configuration. The previous release was ZJX 1.28 LOCKWIRE, 2026-09-06.

ZJX is free for noncommercial use under PolyForm Noncommercial 1.0.0. Commercial use, including evaluation, deployment, embedding, and hosting, runs under a written commercial license from Greyforge Labs. Packages are provided on request. ZJX ships as a command-line tool; the desktop app in the demo is an in-house lab tool.

Three objectives in ZJX 1.29 REDLINE

Choose what each archive optimizes for.

One format, one integrity contract, three ways to create. The objective changes how an archive is built, never what it restores. Ultrafast is new in 1.29.0.

  1. when size matters

    Compact

    The size-first objective. Tries several representations of each input and keeps the smallest complete archive. Byte-identical to 1.28.0 across the qualification corpora.

    Creating archives in the Brief
  2. when balance matters

    Fast

    A fixed, reduced schedule: less creation time, still size-first. Byte-identical to 1.28.0 across the qualification corpora, with no slowdown.

    Creating archives in the Brief
  3. when 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; supports up to eight. It trades some archive size for wall time and keeps every integrity guarantee.

    The 1.29 support contract

Qualified speed result - ZJX 1.29 REDLINE

Ultrafast, measured on two cohorts.

Create plus independent verify, 1.29.0 ultrafast with four workers, against default tar | zstd -1 on a quiet lab host. The recipe was tuned on the development cohort, then confirmed once on a held-out cohort chosen before any measurement.

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.247xthe 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

Against default tar | zstd -1

  • ZJX 1.29.0: ultrafast, four workers1.247x, faster
  • tar | zstd -1, default1.00, the reference

Primary comparison: 95% [1.223, 1.267], Bonferroni-adjusted lower bound 1.221. About 1.19x the comparator's CPU.

Against the matched thread budget

  • ZJX 1.29.0: ultrafast, four workers0.820, slower
  • tar | zstd -1 -T41.00, the reference

ZJX keeps 82.0% of the four-thread comparator's throughput, 95% [0.807, 0.832]; -T0 measured the same.

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.1959xthe 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

  • ZJX 1.29.0: ultrafast, four workers1.1959x, faster
  • tar | zstd -1, default1.00, the reference

Reported lane: 95% [1.1867, 1.2043]. Faster on seven of ten cases; the gains come on the larger archives.

The preregistered gate: matched thread budget

  • ZJX 1.29.0: ultrafast, four workers0.8236, slower
  • tar | zstd -1 -T41.00, the reference

Class-weighted point 0.8236; 95% bootstrap interval on a single preregistered comparison; no familywise adjustment: lower bound 0.8170 against the required 0.80. Gate passed.

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. Quiesced laboratory host under an exclusive lease, 8 logical CPUs; the measured executable is the one shipped in the released package. Two campaigns, reported separately. The headline comparison is against default tar | zstd -1; with four or more threads, zstd stays ahead on raw throughput. Ultrafast trades some archive size for speed. See the full method and every case.

What you get in ZJX 1.29 REDLINE

A complete archive tool, not a compressor library.

ZJX Signal Lattice brand artwork
The ZJX Signal Lattice.
  1. 01 / Create

    Many inputs, one archive.

    File lists, include and exclude filters, and the compact, fast, or ultrafast objective.

  2. 02 / Verify and list

    Check before you trust.

    Integrity test, member listing, and decoder readiness without extracting; parallel verification on ultrafast archives.

  3. 03 / Restore

    All of it, or the members you need.

    Whole-archive verification first; a failed run leaves nothing half-written.

  • Three creation objectives: compact, fast, and the new ultrafast, selected per archive
  • Ultrafast: four workers in the qualified speed configuration on creation and on testing; --workers 1 to 8 keeps its exact meaning; requests above eight are refused with the real limit, never clamped
  • Archive bytes independent of the worker count: 1, 2, 4, and 8 workers produce identical archives on every qualified corpus
  • Every integrity guarantee of the other objectives: per-chunk digests, manifest and archive digests, exact metadata, atomic publication
  • Compact and fast archives byte-identical to 1.28.0's, with no measured slowdown; a 1.28.0 reader tests, inspects, and restores every 1.29 ultrafast archive
  • Capabilities report the default and maximum worker counts and the fixed ultrafast recipe identity; every receipt records the workers requested and used
  • A portable baseline x86-64 build with the hardware digest implementation selected at run time; the same relocatable Linux package layout, rootless installer, checksums, build provenance, and offline restore guide as 1.28.0
  • Everything in the 1.28.0 workflow and fidelity contract carried forward

Where the savings come from

Service records repeat keys, shapes, and values millions of times. General-purpose compressors see bytes; ZJX compact recognizes the structure, tries several representations, and keeps whichever produces the smallest complete archive. Ultrafast trades that search for wall time and writes larger archives; the choice is yours per archive.

  • Logs and telemetry with repeated event shapes
  • Structured JSONL, NDJSON, and tabular exports
  • Workflow records and repeated engineering snapshots

What it is worth to you

Multiply the ratio by what you keep. If your data compressed the way our telemetry did, every petabyte stored with the strongest comparator would shrink by about 38.1%. That is the storage line; an evaluation prices the rest.

The biggest wins come from repetitive, structured data. See the worked illustration and what ZJX handles.

One representative slice. One report you can act on.

Send a description of what you retain and what you pay to keep it. We agree scope, data handling, and where the run happens before any file moves. The evaluation runs ZJX compact, fast, and ultrafast against your current method and the same 14-archiver set, in your environment or on a controlled Greyforge host, and returns complete archive bytes, creation and verification time, exact-restore evidence, and memory and processing cost.

Evaluations are paid engagements, with fee, licensing, and support agreed in writing first. Hold confidential files until data handling is agreed.

Release history

Creation-time qualification - ZJX 1.26 RELICWIRE

Less time creating the same compact archive.

~28% less wall time
Large single-file text
~43% less wall time
Large mixed corpus
6/6 byte-identical pairs
Measured archive identity
12/12 exact restores
Measured restoration

Controlled RELICWIRE qualification campaign versus ZJX 1.25.1 on the compact objective. See methodology and evidence.

ZJX 1.26 RELICWIRE against 1.25.1 on the compact objective: about 28% less wall time on large single-file text and about 43% on a large mixed corpus, with identical archives and exact restores.