200 MB Game Data (21 files) on a 220 MiB Disk (~50 MB Free)| Archive Workload | unzip / 7-Zip | HatchZip Result |
|---|
| ZIP, 180 MB | [FAIL]unzip ran out of space at file 6 of 21 | [PASS]Finished, every file byte-identical |
|---|
| 7z from 7-Zip 25.01, -ms=20m (10 solid blocks) | [FAIL]Needs 380 MB | [PASS]Finished in 0.64 s, every file byte-identical |
|---|
| 7z split into 5 volumes of 40 MB (.7z.001 … .005) | [FAIL]Needs 380 MB | [PASS]Finished; volumes deleted one at a time, peak 210 MB used |
|---|
| tar from GNU tar, 200 MB | [FAIL]Needs 400 MB | [PASS]Finished in 0.12 s, every file byte-identical |
|---|
| 7z from 7-Zip with default settings (1 solid block) | [FAIL]Needs 380 MB | [SAFE REFUSAL]Refused before touching anything: one solid block can't be freed until all of it is out, so it needs 200 MB free |
|---|
Parallel ZIP Speed (ext4)0.25 – 0.35 sAgainst 1.48 – 1.50 s for unzip 6.00 on the same data, including an fsync that unzip skips. (Single giant files extract at single-core speed.)
Single 600 MiB Stored ZIP Entry367 MB Free NeededExtracted on a 950 MiB tmpfs with 367 MB free via 256 MiB hole-punching steps (down from 629 MB without streaming).
Fault Injection / Crash Resume100% Byte-IdenticalProcess killed with SIGKILL at both unsafe moments of a batch across many points of each format; every resume produced identical output.
Test environment: Fedora 43, Intel Core i7-14700HX, SK Hynix NVMe SSD, warm page cache; disk-space tests used a 220 MiB tmpfs to simulate a nearly full laptop drive, speed runs used ext4.