Maximum-ratio archiving for files, trees, audio and DNA.
翻譯準備中
正在載入完整 README。
檢視完整 README ↗StrataZip is an archiver built for one thing: the smallest file you can get back exactly. Every block of your data is tried against several coders, the one that wins on that block is kept, and every byte is checked on the way out.
$ stratazip -l 9 -c prices.csv prices.stz
$ stratazip -d prices.stz prices.csv
-r 5 for 5%) can repair it.--from) and
files that have not changed are not even read again.--get) decodes only the blocks that hold it, and
--info shows what an archive is made of without decoding it (--json for tools).One thread per tool, every tool on the same machine, and every result decompressed and
compared byte for byte (FLAC's on their audio samples). The Silesia numbers are reproducible with
bench/run.sh on public data. docs/BENCHMARKS.md
has the full tables, the machine, and the caveats.
The research compressors cmix and paq8px publish smaller results on these corpora; they were not run here.
| Data | Size | xz -9e | zstd -19 | zpaq -m5 | StrataZip -l 9 | StrataZip -l 10 |
|---|---|---|---|---|---|---|
| Bitcoin price history, 2017 to 2025, CSV | 2,575,631 | 153,772 | 200,502 | 113,063 | 82,925 | 82,818 |
| Bike&Safe sensor logs (the dataset as a tar) | 47,544,320 | 15,109,452 | 15,663,947 | 11,540,076 | 10,516,775 | 10,222,204 |
| E. coli genome (Canterbury large corpus) | 4,638,690 | 1,186,180 | 1,148,133 | 1,114,234 | 1,099,133 | 1,096,355 |
| enwik8, 100 MB of Wikipedia | 100,000,000 | 24,831,648 | 26,954,633 | 19,625,015 | 19,953,846 | 18,700,345 |
On enwik8 zpaq -m5 beats level 9 by 1.6%; level 10, which sees the file in two blocks rather than twenty-four, is 4.7% under it.
| Recording (16-bit PCM) | Size | FLAC -8 | StrataZip | |
|---|---|---|---|---|
| Field recordings, ten ESC-50 clips | 4,410,078 | 1,880,800 | 1,784,415 | −5.1% |
| Pop song, 30 s (decoded from MP3) | 5,292,162 | 3,613,378 | 3,400,260 | −5.9% |
| Pop song, 30 s (decoded from MP3) | 5,292,184 | 3,095,882 | 2,874,306 | −7.2% |
The audio coder runs at every level; these are level 4. FLAC decodes much faster, so StrataZip is for keeping audio, not for playing it.
The standard corpus of mixed real data (12 files, 212 MB).
| Tool | Size (MB) | Ratio | Compress (MB/s) | Decompress (MB/s) |
|---|---|---|---|---|
| gzip -9 | 67.63 | 3.134 | 9.45 | 133.11 |
| StrataZip -l 4 | 56.18 | 3.773 | 2.84 | 60.88 |
| bzip2 -9 | 54.51 | 3.888 | 11.38 | 26.77 |
| zstd -19 | 53.02 | 3.997 | 1.97 | 483.12 |
| StrataZip -l 6 | 52.73 | 4.019 | 0.75 | 62.31 |
| zstd --ultra -22 --long=27 | 52.52 | 4.035 | 1.55 | 431.27 |
| brotli -q 11 -w 24 | 49.56 | 4.276 | 0.43 | 251.15 |
| 7z -mx=9 | 48.76 | 4.347 | 1.91 | 62.29 |
| xz -9e | 48.46 | 4.374 | 1.45 | 61.21 |
| bzip3 | 46.93 | 4.516 | 9.17 | 8.99 |
| zpaq -m5 | 39.11 | 5.419 | 0.39 | 0.38 |
| StrataZip -l 9 | 36.23 | 5.850 | 0.08 | 0.10 |
| StrataZip -l 10 | 34.16 | 6.205 |
Levels 9 and 10 are the smallest, and the slowest: zpaq -m5 compresses at 0.39 MB/s
here, StrataZip's level 9 at 0.08, on one thread. Two of the files (mr, x-ray) are
16-bit medical images, which StrataZip codes with its picture coder at every level, so
even level 4 makes them smaller than any other tool does. Per-file results are
in docs/BENCHMARKS.md.
| Level | Use it for | Speed |
|---|---|---|
-l 1 to -l 4 (default 4) | everyday archives, fast both ways | level 4 decompresses Silesia at about 61 MB/s on one thread |
-l 5, -l 6 | smaller, still fast to open: the parse is optimised, priced in bits | slow to compress, fast to decompress |
-l 7 to -l 9 | the smallest files at a practical pace: context mixing | about as slow to decompress as to compress |
-l 10, -e | the last bits: 64 MiB blocks, tables sized to the free memory | slower still; needs the same memory to decompress |
Levels 7 to 10 are symmetric, like zpaq and cmix: opening the archive takes about as long
as making it. Use them for archives you keep, not for files you open every day. Data that
is as dense as noise (archives, encrypted data) is stored as it is at levels 1 to 9;
-F codes it anyway.
以上為 README 的開頭部分。其餘內容請閱讀原文。 檢視完整 README ↗
| 0.06 |
| 0.10 |