Skip to content

v0.1.0 — initial release

Choose a tag to compare

@dannyblaker dannyblaker released this 12 Jul 07:48

The first release of densezip: an archiver whose only goal is the smallest possible output — smaller than gzip -9, xz -9e, zstd --ultra -22, and 7z -mx=9 on real-world files. Speed and memory are explicitly sacrificed for ratio. The CLI command is dnz and archives use the .dnz extension.

Three stacked ideas (see the whitepaper for the full treatment):

  • Recompression — embedded deflate streams (PDF, PNG, docx/xlsx, jar, gz, …) are losslessly unpacked with preflate and recompressed with far stronger codecs; JPEGs get the same treatment via lepton. Everything is reconstructed bit-exactly.
  • A context-mixing compressor (dzcm) — a clean-room Rust implementation in the PAQ tradition: orders 0–8, word/sparse/record models, ISSE chain, logistic mixing, APM stages. Beats xz -9e by 13–24% on the Silesia corpus.
  • Backend racing — every stream is compressed with zstd, brotli, LZMA, and dzcm in parallel; the smallest round-trip-verified output wins, with store as the floor so output never meaningfully expands.

Won all 20 benchmark files against the best of gzip/bzip2/xz/zstd/7z per file (see BENCHMARKS.md).

Correctness first: every transform is render-verified at pack time, every backend output is decompressed and compared, and the finished archive is read back and verified against per-file hashes. dnz t re-verifies at any time.

Prebuilt binaries for Linux x86_64/arm64, macOS Intel/Apple Silicon, and Windows x86_64 — or install with the one-liners in the README.

The format is young (v0.1) and may still change between versions — don't use .dnz as your only copy of anything yet.