Repository navigation
v2.1.5
·
129 commits
to master
since this release
Zupt v2.1.5
Block-level deduplication (--dedup), XXH64 fingerprint index, DEDUP_REF block type, 81 tests
Release Summary
Zupt v2.1.5 — Block-Level Deduplication: COMPLETE
All quality gates passed.
Test Results
ZUPT v2.1.5 — FULL TEST SUITE
Core Tests (70)
- Regression: 22 passed
- Vectors: 13 passed
- VaptVupt: 11 passed
- Threaded: 14 passed
- PQ: 10 passed
Disk Tests (8): 8 passed
Dedup Tests (6): 6 passed
TOTAL: 84 passed, 0 failed
Deduplication Results
- 3 identical 64K files + 1 unique → 60% dedup ratio (2.5× smaller)
- 4 identical 256K blocks → 75% dedup ratio
- From-scratch tarball (2 duplicates) → 67% dedup, 3:1 ratio
Usage
# File compression with dedup
zupt compress --dedup backup.zupt ~/data/
# Disk backup with dedup
zupt disk backup --dedup backup.zupt /dev/sda1
# Dedup + encryption
zupt compress --dedup --pq pub.key backup.zupt ~/data/
# Extract (dedup resolved automatically)
zupt extract backup.zuptImplementation
src/zupt_dedup.c(165 lines)- XXH64 fingerprinting + size verification
ZUPT_BLOCK_DEDUP_REF(8-byte references)- Hash table (2M entry cap)
- Transparent dedup in compress, disk backup, and all extract paths
Codec × Dedup × Encryption Matrix
All combinations pass:
- VaptVupt (--vv): plain, password, PQ, PQ+password
- Zupt-LZHP (--lzhp): all variants
- Zupt-LZ (-f): all variants
- Store (-s): all variants
- AUTO: all variants
- Levels 1–9: all pass
- Disk dedup: default, VV, LZHP, Store, PQ combos
Archive sizes (7 files, 5 identical 128K):
--dedup = 328,254 bytes vs normal = 852,525 bytes (61% saved)