Releases: Cranot/mzip
Releases · Cranot/mzip
Release list
mzip v0.1.0 — first public release
First public release of mzip, a detection-based compression library.
Highlights
- 93.2% win rate (233 / 250) on the synthetic benchmark suite (50 data types × 5 sizes), avg ratio 8.25×. All 250 roundtrips verified.
- 27.7% win rate (13 / 47) on a real-world GitHub-files benchmark.
- Smallest output of any standard library compressor on enwik9 prose — beats brotli:11 by 5.9%, xz/7z by 6.5%, bzip2:9 by 14.4% on 10 MB.
- ~30 detection-based strategies including LINEAR_GEN, NUMERIC, SECTION_TEMPLATE, COLUMNAR, BWT_TEXT, BG, MC, ZSTD_DICT, E8E9_X86 + LZMA_OPTIMAL, PAETH_RGB, BASE64_DECODE.
- Tuned BWT pipeline with capfold + word dict + LZP-after-dict + multi-tree Huffman, per-block dynamic trial.
- Encode-side roundtrip verification — the encoder verifies its own output before returning, falling back to the next-best valid candidate when a strategy produces non-roundtrippable bytes.
Speed trade-off
mzip is roughly 38× slower to decompress than zstd. Use mzip when you write once and read often, or when ratio matters more than millisecond-scale read latency. For latency-critical reads, use zstd.
What's not in scope yet
- Streaming / incremental decode — full-buffer API only.
- Bzip3-class context-mixing arithmetic coder — see BWT_ROADMAP.md for the planned path.
Install
C++17 + zstd. Single-header build available via `mzip_amalgamated.hpp`. See README for OS-specific install commands and build flags.
License
AGPL-3.0 OR commercial. Open an issue tagged `commercial-license` for proprietary use.