marksmayo/blazezip

A very fast, parallel, standards-compliant ZIP archiver for Windows, with a benchmark suite

Python

4

2 commits

updated Oct 14, 2026

See the code

See what people are saying

README

blazezip

CI Release Downloads License: MIT Platform: Windows x64 Rust 1.85+ Language: Rust Formats: ZIP, Deflate, Zstandard Last commit

A very fast, parallel, standards-compliant ZIP archiver for Windows, plus a benchmark suite that pits it against 7-Zip, NanaZip, PeaZip, Bandizip, WinRAR, WinZip, Info-ZIP, pzip, zstd, pigz, LZ4 and LZFSE and awards medals. On the test machine it wins more gold medals than any other tool in both suites; see Performance.

blazezip is Windows-only: it uses Windows file APIs directly for its speed.

Installing

Download blazezip-<version>-x86_64-pc-windows-msvc.zip from Releases, unzip it and put blazezip.exe on your PATH. Each release has a .sha256 checksum next to it.

To build from source you need Rust 1.85 or later (MSVC toolchain). LLVM's clang-cl is optional but recommended: with it, libdeflate gets its fastest (BMI2) decoder.

cargo build --release        # target/release/blazezip.exe
cargo test --release

Using blazezip

blazezip c out.zip folder [more inputs...]   # create (Deflate, level 6)
blazezip c out.zip folder -1                 # fastest   (-12 = smallest)
blazezip c out.zip folder --zstd             # Zstandard inside ZIP (method 93)
blazezip a out.zip more-files                # add (replacing same-named entries)
blazezip d out.zip folder/old.txt            # delete entries (or whole directories)
blazezip x out.zip -o dest                   # extract
blazezip x out.zip folder/a.txt -o dest      # extract only the named entries
blazezip t out.zip                           # verify CRCs without writing
blazezip l out.zip                           # list

Options: -t N threads (default: 8 when creating Deflate archives, up to 12 for small inputs at -7 and above; otherwise all logical CPUs), --chunk MiB, --no-store, -q, -V/--version. The thread count never changes the archive: the same inputs and options give the same bytes.

Exit codes: 0 on success, 1 on any error. 1 is also returned when the job finished but not cleanly: input files that could not be read were left out of the archive (and named on stderr), or a damaged archive was only partly recovered.

Why it's fast

  • Everything is parallel. Files compress concurrently (runs of small files are batched into one job); a single large file is split into 1 MiB chunks that compress on all cores. The input tree is walked in parallel. A bounded in-flight window (in jobs and bytes) keeps memory proportional to the thread count rather than the input size, and output buffers are recycled.
  • libdeflate does all Deflate work. It is vendored in third_party/libdeflate with one small addition, libdeflate_deflate_compress_sync(), which ends a chunk with a sync flush instead of a final block. The chunks concatenate into one ordinary Deflate stream that every unzip tool reads. With LLVM installed, libdeflate is built with clang-cl, which (unlike MSVC) can build its BMI2 decompressor and fastest CRC-32; blazezip uses that CRC-32 too.
  • Parallel decompression of single large files. blazezip records each chunk's compressed size in a private extra field (0x7a42) that other tools ignore. On extraction, every chunk is decoded independently, straight into a memory-mapped output file.
  • Incompressible data is detected and stored. Samples are test-compressed first, so photos, video and existing archives skip pointless work.
  • Only the threads that help. Storing incompressible data is I/O-bound, so creation uses two threads plus one per MiB that actually needs compressing. Extraction stops adding threads once the largest file, not the thread count, sets the finishing time.
  • Windows-aware I/O. Directories are created up front (a level at a time, in parallel), files are created from many threads (NTFS file creation parallelises well; for many small files, twice as many threads as cores), handles are closed on separate threads because closing a freshly written file is where antivirus scanning blocks, and large stored entries are streamed with ReadFile and WriteFile instead of page-faulting a mapping. The process opts out of Windows power throttling so it isn't parked on efficiency cores.

Archives are plain ZIP (Zip64 when needed), verified with 7z t and Info-ZIP unzip -t. They record Windows attributes (read-only, hidden, system) and NTFS timestamps (100 ns), which blazezip and 7-Zip restore on extraction. A file that cannot be read (locked by another process, say) is skipped with a warning and a non-zero exit code; everything else is archived. An interrupted or failed run never leaves a partial archive behind. Adding and deleting copy the other entries' compressed data unchanged, and if an archive's central directory is missing (a truncated download, say), extraction recovers what the local headers still describe and exits with an error.

Performance

Measured on 12th Gen Intel(R) Core(TM) i7-12700H (14 cores, 20 threads), 31.7 GB RAM, NVMe KXG70ZNV512G NVMe KIOXIA 512GB, Windows 11 (10.0.26300), with Windows Defender real-time protection on. Every test runs 10 times under a Windows Job Object; the median of the fastest five runs is reported. Competitors keep their best result across recent runs, blazezip shows its latest. Tool versions are listed below. Generated by python bench/readme_perf.py on 2026-10-14.

Medals per tool

Main suite: medal table

Every benchmark awards gold, silver and bronze for each metric: wall time, CPU time, peak memory and (when creating) archive size.

#Tool🥇🥈🥉Total
1blazezip57181792
2Windows built-in (tar)2419245
37-Zip24171455
4Info-ZIP zip/unzip1712837
5pigz144018
6LZ41014832
7pzip / punzip461020
8zstd215724
9WinRAR1163047
10NanaZip026834
11WinZip0459
12PeaZip013839
13LZFSE0167

Where blazezip wins

Gold medals won by blazezip, by metric: Speed (wall) 34/42, CPU time 16/42, Peak memory 4/42, Size 3/27.

Each cell is blazezip's result and its place; where it is not in the top three, the best tool's result is shown for comparison. Sizes are the archive as a share of the input.

BenchmarkSpeed (wall)CPU timePeak memorySize
Create a ZIP · canterbury · fast🥇 0.024 s🥇 0.125 s🥈 11.2 MiB6th · 32.2% (best 7-Zip 30.4%)
Create a ZIP · canterbury · default🥈 0.0743 s🥈 0.469 s🥉 15.0 MiB5th · 28.5% (best 7-Zip 27.3%)
Create a ZIP · canterbury · max🥇 0.248 s🥈 2.67 s🥉 22.3 MiB5th · 28.1% (best 7-Zip 27.3%)
Create a ZIP · silesia · fast🥇 0.21 s🥇 1.56 s🥉 26.6 MiB6th · 34.7% (best 7-Zip 33.1%)
Create a ZIP · silesia · default🥇 0.461 s🥇 3.53 s4th · 30.7 MiB (best Info-ZIP zip/unzip 1.5 MiB)6th · 31.9% (best 7-Zip 31.0%)
Create a ZIP · silesia · max🥇 1.3 s🥇 10 s🥉 31.6 MiB5th · 31.6% (best 7-Zip 30.5%)
Create a ZIP · enwik8 · fast🥇 0.132 s🥇 0.922 s🥉 24.6 MiB6th · 39.2% (best 7-Zip 37.9%)
Create a ZIP · enwik8 · default🥇 0.304 s🥈 2.22 s5th · 28.2 MiB (best Info-ZIP zip/unzip 1.4 MiB)8th · 36.7% (best 7-Zip 35.2%)
Create a ZIP · enwik8 · max🥇 0.528 s🥇 4.06 s🥉 28.2 MiB6th · 36.3% (best 7-Zip 35.1%)
Create a ZIP · linux · fast🥇 0.507 s🥇 3.69 s🥉 37.6 MiB5th · 32.4% (best 7-Zip 31.0%)
Create a ZIP · linux · default🥇 0.692 s🥇 5.28 s4th · 42.6 MiB (best Windows built-in (tar) 4.6 MiB)5th · 30.1% (best 7-Zip 29.5%)
Create a ZIP · linux · max🥇 1.28 s🥇 9.61 s🥉 49.7 MiB5th · 29.9% (best 7-Zip 29.1%)
Create a ZIP · binaries · fast🥇 0.544 s🥇 4.08 s🥉 34.0 MiB6th · 33.4% (best 7-Zip 31.6%)
Create a ZIP · binaries · default🥇 0.998 s🥈 7.67 s4th · 36.5 MiB (best Info-ZIP zip/unzip 1.6 MiB)6th · 30.7% (best 7-Zip 29.9%)
Create a ZIP · binaries · max🥇 2.54 s🥇 19.1 s🥉 37.1 MiB5th · 30.5% (best 7-Zip 29.5%)
Create a ZIP · media · fast🥇 0.187 s🥇 0.453 s🥈 9.6 MiB🥇 100.0%
Create a ZIP · media · default🥇 0.179 s🥇 0.359 s🥉 9.8 MiB🥇 100.0%
Create a ZIP · media · max🥇 0.18 s🥇 0.391 s🥈 9.7 MiB🥇 100.0%
Extract a ZIP · canterbury🥇 0.019 s🥈 0.0312 s7th · 11.4 MiB (best Windows built-in (tar) 1.4 MiB)
Extract a ZIP · silesia🥇 0.14 s🥈 0.516 s8th · 20.4 MiB (best Windows built-in (tar) 1.4 MiB)
Extract a ZIP · enwik8🥇 0.198 s🥇 0.188 s🥇 0.9 MiB
Extract a ZIP · linux🥈 20.6 s🥈 22.1 s4th · 26.5 MiB (best Windows built-in (tar) 5.5 MiB)
Extract a ZIP · binaries🥇 0.62 s🥈 1.23 s7th · 19.6 MiB (best Windows built-in (tar) 1.5 MiB)
Extract a ZIP · media🥇 0.125 s5th · 0.281 s (best Windows built-in (tar) 0.188 s)8th · 22.2 MiB (best Windows built-in (tar) 1.1 MiB)
Extract the tool's own ZIP · canterbury🥇 0.0176 s🥇 0.0156 s6th · 6.7 MiB (best Windows built-in (tar) 1.4 MiB)
Extract the tool's own ZIP · silesia🥇 0.0895 s6th · 0.984 s (best Windows built-in (tar) 0.391 s)8th · 24.3 MiB (best Windows built-in (tar) 1.4 MiB)
Extract the tool's own ZIP · enwik8🥇 0.046 s🥈 0.5 s9th · 18.8 MiB (best Windows built-in (tar) 1.4 MiB)
Extract the tool's own ZIP · linux🥈 20.1 s🥈 22.5 s4th · 26.5 MiB (best Windows built-in (tar) 5.5 MiB)
Extract the tool's own ZIP · binaries🥇 0.207 s6th · 1.92 s (best Windows built-in (tar) 0.781 s)8th · 24.8 MiB (best Windows built-in (tar) 1.5 MiB)
Extract the tool's own ZIP · media🥇 0.137 s5th · 0.281 s (best Windows built-in (tar) 0.203 s)8th · 22.2 MiB (best Windows built-in (tar) 1.4 MiB)
Compress, native format · silesia · fast🥇 0.103 s🥉 1.27 s6th · 158.9 MiB (best pigz 25.1 MiB)6th · 34.6% (best 7-Zip 27.9%)
Compress, native format · silesia · default🥇 0.185 s4th · 2.47 s (best LZ4 0.656 s)🥉 165.5 MiB6th · 31.4% (best 7-Zip 23.4%)
Compress, native format · silesia · max4th · 7.97 s (best pigz 1.76 s)8th · 127 s (best pigz 31.7 s)4th · 1124.5 MiB (best pigz 25.1 MiB)6th · 26.2% (best 7-Zip 23.0%)
Compress, native format · enwik8 · fast🥇 0.0724 s🥉 0.812 s4th · 87.8 MiB (best pigz 25.1 MiB)6th · 40.8% (best 7-Zip 33.4%)
Compress, native format · enwik8 · default🥇 0.112 s4th · 1.53 s (best LZ4 0.391 s)🥉 99.2 MiB6th · 35.9% (best 7-Zip 25.4%)
Compress, native format · enwik8 · max4th · 4.35 s (best pigz 0.613 s)4th · 62.5 s (best LZ4 10.7 s)4th · 738.5 MiB (best pigz 24.9 MiB)6th · 30.6% (best 7-Zip 24.8%)
Compress, native format · linux · fast🥈 0.14 s🥉 1.73 s6th · 149.9 MiB (best pigz 25.1 MiB)6th · 24.9% (best 7-Zip 20.0%)
Compress, native format · linux · default🥈 0.207 s4th · 3 s (best LZ4 0.703 s)🥉 160.9 MiB8th · 22.4% (best 7-Zip 16.0%)
Compress, native format · linux · max4th · 7.73 s (best pigz 1.25 s)7th · 126 s (best pigz 20.6 s)4th · 1117.3 MiB (best pigz 25.1 MiB)6th · 17.5% (best 7-Zip 15.3%)
Decompress, native format · silesia🥇 0.0884 s4th · 0.891 s (best LZ4 0.188 s)🥇 3.8 MiB
Decompress, native format · enwik8🥇 0.0569 s5th · 0.531 s (best LZ4 0.0938 s)🥇 3.6 MiB
Decompress, native format · linux🥇 0.0887 s4th · 0.859 s (best LZ4 0.172 s)🥇 3.8 MiB
Every tool, every benchmark (full main-suite results)

Create a ZIP · canterbury · fast

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.024 s🥇 0.125 s🥈 11.2 MiB32.2%
Info-ZIP zip/unzip🥈 0.138 s🥈 0.141 s🥇 1.4 MiB35.3%
WinRAR🥉 0.168 s🥉 0.25 s🥉 16.2 MiB31.0%
WinZip0.185 s0.703 s218.7 MiB30.6%
7-Zip0.191 s0.312 s268.6 MiB🥇 30.4%
PeaZip0.197 s0.312 s268.9 MiB🥉 30.4%
NanaZip0.271 s0.344 s269.0 MiB🥈 30.4%

Create a ZIP · canterbury · default

ToolSpeed (wall)CPU timePeak memorySize
pzip / punzip🥇 0.0516 s🥇 0.109 s25.0 MiB30.3%
blazezip🥈 0.0743 s🥈 0.469 s🥉 15.0 MiB28.5%
WinRAR🥉 0.225 s0.781 s16.2 MiB29.2%
WinZip0.387 s3.67 s222.6 MiB27.9%
Info-ZIP zip/unzip0.648 s🥉 0.641 s🥇 1.5 MiB29.2%
7-Zip0.938 s1.78 s268.9 MiB🥇 27.3%
PeaZip0.968 s1.83 s269.2 MiB🥉 27.3%
Windows built-in (tar)1.02 s1.02 s🥈 1.9 MiB29.2%
NanaZip1.08 s1.83 s269.4 MiB🥈 27.3%

Create a ZIP · canterbury · max

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.248 s🥈 2.67 s🥉 22.3 MiB28.1%
WinRAR🥈 0.27 s🥇 1.55 s🥈 16.2 MiB28.8%
WinZip🥉 0.696 s9.08 s260.3 MiB27.6%
Info-ZIP zip/unzip2.82 s🥉 2.77 s🥇 1.4 MiB28.7%
PeaZip4.53 s9.62 s273.0 MiB🥉 27.3%
7-Zip4.66 s9.86 s272.7 MiB🥇 27.3%
NanaZip4.75 s10 s273.1 MiB🥈 27.3%

Create a ZIP · silesia · fast

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.21 s🥇 1.56 s🥉 26.6 MiB34.7%
WinZip🥈 0.775 s8.78 s985.8 MiB33.2%
7-Zip🥉 1.05 s5.23 s865.7 MiB🥇 33.1%
PeaZip1.06 s5.17 s866.0 MiB🥉 33.1%
NanaZip1.18 s5.3 s866.3 MiB🥈 33.1%
WinRAR1.66 s🥉 3.52 s🥈 16.2 MiB33.6%
Info-ZIP zip/unzip2.37 s🥈 2.34 s🥇 1.5 MiB36.5%

Create a ZIP · silesia · default

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.461 s🥇 3.53 s30.7 MiB31.9%
pzip / punzip🥈 0.888 s🥈 3.72 s55.2 MiB33.7%
WinRAR🥉 2.2 s9.7 s🥉 16.2 MiB31.9%
WinZip2.56 s42.3 s995.2 MiB31.1%
Windows built-in (tar)5.57 s🥉 5.52 s🥈 1.9 MiB32.2%
Info-ZIP zip/unzip5.81 s5.72 s🥇 1.5 MiB32.2%
PeaZip5.88 s26.5 s867.5 MiB🥉 31.0%
7-Zip5.89 s26.8 s867.2 MiB🥇 31.0%
NanaZip6.19 s27.9 s867.8 MiB🥈 31.0%

Create a ZIP · silesia · max

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 1.3 s🥇 10 s🥉 31.6 MiB31.6%
WinRAR🥈 2.24 s🥈 11.1 s🥈 16.2 MiB31.8%
WinZip🥉 6.83 s120 s1276.2 MiB30.7%
Info-ZIP zip/unzip13.8 s🥉 13.6 s🥇 1.5 MiB31.9%
7-Zip37.9 s172 s882.2 MiB🥇 30.5%
PeaZip38.2 s174 s882.6 MiB🥉 30.5%
NanaZip39.4 s181 s882.9 MiB🥈 30.5%

Create a ZIP · enwik8 · fast

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.132 s🥇 0.922 s🥉 24.6 MiB39.2%
WinZip🥈 0.498 s5.02 s352.4 MiB37.9%
WinRAR🥉 0.917 s2.09 s🥈 16.2 MiB38.2%
Info-ZIP zip/unzip1.24 s🥈 1.23 s🥇 1.4 MiB42.3%
PeaZip2.03 s🥉 2 s136.1 MiB🥉 37.9%
7-Zip2.04 s2.03 s135.9 MiB🥇 37.9%
NanaZip2.22 s2.11 s136.3 MiB🥈 37.9%

Create a ZIP · enwik8 · default

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.304 s🥈 2.22 s28.2 MiB36.7%
WinRAR🥈 1.22 s4.83 s🥉 16.2 MiB36.3%
WinZip🥉 1.39 s21.8 s354.9 MiB35.2%
pzip / punzip1.5 s🥇 1.44 s19.9 MiB37.8%
Info-ZIP zip/unzip3.58 s🥉 3.55 s🥇 1.4 MiB36.5%
Windows built-in (tar)3.75 s3.7 s🥈 1.9 MiB36.5%
7-Zip9.5 s9.36 s136.0 MiB🥇 35.2%
PeaZip9.52 s9.42 s136.3 MiB🥉 35.2%
NanaZip9.88 s9.59 s136.4 MiB🥈 35.2%

Create a ZIP · enwik8 · max

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.528 s🥇 4.06 s🥉 28.2 MiB36.3%
WinRAR🥈 1.25 s🥉 5.77 s🥈 16.2 MiB36.2%
WinZip🥉 3.53 s60.4 s380.0 MiB35.1%
Info-ZIP zip/unzip4.54 s🥈 4.48 s🥇 1.4 MiB36.4%
7-Zip58 s57.2 s137.3 MiB🥇 35.1%
PeaZip58 s57.3 s137.5 MiB🥉 35.1%
NanaZip59.4 s58.3 s137.7 MiB🥈 35.1%

Create a ZIP · linux · fast

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.507 s🥇 3.69 s🥉 37.6 MiB32.4%
7-Zip🥈 1.27 s🥈 7.11 s1352.4 MiB🥇 31.0%
PeaZip🥉 1.28 s🥉 7.22 s1352.7 MiB🥉 31.0%
NanaZip1.48 s7.5 s1352.4 MiB🥈 31.0%
WinRAR6.53 s8.61 s🥈 27.8 MiB31.6%
Info-ZIP zip/unzip7.48 s7.42 s🥇 25.0 MiB35.8%

Create a ZIP · linux · default

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.692 s🥇 5.28 s42.6 MiB30.1%
pzip / punzip🥈 1.11 s🥉 8.52 s290.0 MiB31.1%
7-Zip🥉 2.44 s33.7 s1354.8 MiB🥇 29.5%
PeaZip2.45 s34.1 s1355.3 MiB🥉 29.5%
NanaZip2.62 s34.5 s1354.9 MiB🥈 29.5%
Windows built-in (tar)5.89 s🥈 5.83 s🥇 4.6 MiB30.5%
Info-ZIP zip/unzip9.39 s9.33 s🥈 25.1 MiB31.3%
WinRAR9.44 s15.5 s🥉 27.8 MiB29.9%

Create a ZIP · linux · max

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 1.28 s🥇 9.61 s🥉 49.7 MiB29.9%
PeaZip🥈 11.1 s202 s1380.2 MiB🥉 29.1%
7-Zip🥉 11.2 s205 s1379.9 MiB🥇 29.1%
NanaZip12.2 s223 s1379.4 MiB🥈 29.1%
Info-ZIP zip/unzip12.6 s🥈 12.4 s🥇 25.0 MiB31.2%
WinRAR16.7 s🥉 22.7 s🥈 27.9 MiB29.8%

Create a ZIP · binaries · fast

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.544 s🥇 4.08 s🥉 34.0 MiB33.4%
WinZip🥈 1.47 s14.4 s1512.6 MiB31.8%
7-Zip🥉 3.02 s7.98 s1332.4 MiB🥇 31.6%
PeaZip3.04 s8.11 s1332.8 MiB🥉 31.6%
NanaZip3.26 s8.36 s1333.2 MiB🥈 31.6%
WinRAR3.38 s🥉 7.77 s🥈 16.2 MiB32.0%
Info-ZIP zip/unzip4.75 s🥈 4.67 s🥇 1.5 MiB34.9%

Create a ZIP · binaries · default

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.998 s🥈 7.67 s36.5 MiB30.7%
pzip / punzip🥈 2.72 s🥇 6.44 s108.0 MiB32.7%
WinRAR🥉 4.3 s19.9 s🥉 16.2 MiB30.6%
WinZip4.38 s69.4 s1584.5 MiB30.1%
Windows built-in (tar)9.75 s🥉 9.66 s🥈 1.9 MiB30.8%
Info-ZIP zip/unzip11.5 s11.3 s🥇 1.6 MiB30.8%
7-Zip15.4 s42.9 s1334.8 MiB🥇 29.9%
PeaZip15.8 s43.2 s1335.2 MiB🥉 29.9%
NanaZip16 s44.1 s1335.7 MiB🥈 29.9%

Create a ZIP · binaries · max

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 2.54 s🥇 19.1 s🥉 37.1 MiB30.5%
WinRAR🥈 5.16 s🥈 24.2 s🥈 16.2 MiB30.6%
WinZip🥉 10.8 s186 s1901.6 MiB29.8%
Info-ZIP zip/unzip34.9 s🥉 34.6 s🥇 1.5 MiB30.7%
PeaZip96.2 s267 s1360.3 MiB🥉 29.5%
NanaZip101 s287 s1360.7 MiB🥈 29.5%
7-Zip101 s272 s1359.9 MiB🥇 29.5%

Create a ZIP · media · fast

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.187 s🥇 0.453 s🥈 9.6 MiB🥇 100.0%
7-Zip🥈 0.883 s12.5 s1334.9 MiB🥈 100.0%
PeaZip🥉 0.89 s12.7 s1335.3 MiB100.0%
NanaZip1.02 s13.6 s1335.7 MiB🥉 100.0%
WinZip1.57 s17.5 s1991.6 MiB100.0%
WinRAR2.59 s🥉 9 s🥉 16.2 MiB100.0%
Info-ZIP zip/unzip6.42 s🥈 6.3 s🥇 1.5 MiB100.0%

Create a ZIP · media · default

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.179 s🥇 0.359 s🥉 9.8 MiB🥇 100.0%
pzip / punzip🥈 0.341 s🥈 0.875 s101.2 MiB100.0%
7-Zip🥉 1.07 s15.6 s1337.4 MiB🥈 100.0%
PeaZip1.15 s16.7 s1337.8 MiB100.0%
NanaZip1.26 s17.1 s1338.2 MiB🥉 100.0%
WinZip1.88 s21.4 s2067.8 MiB100.0%
WinRAR3.47 s19.4 s16.2 MiB100.0%
Info-ZIP zip/unzip6.57 s🥉 6.5 s🥇 1.5 MiB100.0%
Windows built-in (tar)6.94 s6.81 s🥈 1.9 MiB100.0%

Create a ZIP · media · max

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.18 s🥇 0.391 s🥈 9.7 MiB🥇 100.0%
WinZip🥈 3.16 s45.8 s2821.8 MiB100.0%
WinRAR🥉 3.46 s🥉 20.2 s🥉 16.2 MiB100.0%
Info-ZIP zip/unzip6.59 s🥈 6.52 s🥇 1.5 MiB100.0%
7-Zip10.8 s170 s1362.4 MiB🥈 100.0%
PeaZip11.7 s183 s1362.8 MiB100.0%
NanaZip12.9 s201 s1363.2 MiB🥉 100.0%

Extract a ZIP · canterbury

ToolSpeed (wall)CPU timePeak memory
blazezip🥇 0.019 s🥈 0.0312 s11.4 MiB
Windows built-in (tar)🥈 0.0306 s🥇 0.0156 s🥇 1.4 MiB
pzip / punzip🥉 0.0323 s0.0781 s13.3 MiB
7-Zip0.0601 s🥉 0.0469 s🥈 2.4 MiB
PeaZip0.064 s0.0625 s🥉 2.7 MiB
Info-ZIP zip/unzip0.0847 s0.0781 s6.7 MiB
NanaZip0.0997 s0.0469 s2.8 MiB
WinRAR0.129 s0.125 s8.2 MiB
WinZip0.146 s0.0781 s36.6 MiB

Extract a ZIP · silesia

ToolSpeed (wall)CPU timePeak memory
blazezip🥇 0.14 s🥈 0.516 s20.4 MiB
Windows built-in (tar)🥈 0.422 s🥇 0.406 s🥇 1.4 MiB
pzip / punzip🥉 0.439 s1.69 s16.7 MiB
WinZip0.817 s1.34 s127.5 MiB
PeaZip0.93 s0.922 s🥉 2.7 MiB
7-Zip0.935 s0.906 s🥈 2.5 MiB
WinRAR0.938 s0.938 s8.2 MiB
NanaZip0.97 s🥉 0.844 s2.8 MiB
Info-ZIP zip/unzip1.25 s1.23 s6.7 MiB

Extract a ZIP · enwik8

ToolSpeed (wall)CPU timePeak memory
blazezip🥇 0.198 s🥇 0.188 s🥇 0.9 MiB
Windows built-in (tar)🥈 0.225 s🥈 0.219 s🥈 1.4 MiB
7-Zip🥉 0.512 s🥉 0.5 s🥉 2.4 MiB
PeaZip0.518 s0.516 s2.7 MiB
pzip / punzip0.543 s0.547 s12.6 MiB
WinRAR0.551 s0.531 s8.2 MiB
NanaZip0.574 s0.5 s2.8 MiB
WinZip0.61 s0.609 s16.2 MiB
Info-ZIP zip/unzip0.658 s0.656 s6.7 MiB

Extract a ZIP · linux

ToolSpeed (wall)CPU timePeak memory
Windows built-in (tar)🥇 7.93 s🥇 7.5 s🥇 5.5 MiB
blazezip🥈 20.6 s🥈 22.1 s26.5 MiB
pzip / punzip🥉 22.4 s30.7 s39.1 MiB
Info-ZIP zip/unzip23.6 s🥉 22.7 s🥈 7.7 MiB
WinRAR25.6 s23.8 s🥉 8.2 MiB

Extract a ZIP · binaries

ToolSpeed (wall)CPU timePeak memory
blazezip🥇 0.62 s🥈 1.23 s19.6 MiB
Windows built-in (tar)🥈 0.843 s🥇 0.797 s🥇 1.5 MiB
pzip / punzip🥉 1.21 s2.88 s22.6 MiB
WinZip1.67 s3.53 s410.8 MiB
7-Zip1.74 s1.7 s🥈 2.5 MiB
NanaZip1.75 s🥉 1.64 s2.8 MiB
PeaZip1.8 s1.77 s🥉 2.8 MiB
WinRAR1.82 s1.77 s8.2 MiB
Info-ZIP zip/unzip2.54 s2.48 s6.7 MiB

Extract a ZIP · media

ToolSpeed (wall)CPU timePeak memory
blazezip🥇 0.125 s0.281 s22.2 MiB
Windows built-in (tar)🥈 0.206 s🥇 0.188 s🥇 1.1 MiB
pzip / punzip🥉 0.219 s0.469 s17.5 MiB
7-Zip0.236 s🥈 0.234 s🥈 1.5 MiB
PeaZip0.245 s0.234 s🥉 1.8 MiB
NanaZip0.285 s🥉 0.234 s1.9 MiB
WinRAR1.06 s1.03 s8.2 MiB
WinZip1.2 s1.56 s167.2 MiB
Info-ZIP zip/unzip1.34 s1.3 s6.7 MiB

Extract the tool's own ZIP · canterbury

ToolSpeed (wall)CPU timePeak memory
blazezip🥇 0.0176 s🥇 0.0156 s6.7 MiB
Windows built-in (tar)🥈 0.0339 s🥈 0.0312 s🥇 1.4 MiB
pzip / punzip🥉 0.0353 s0.0781 s13.3 MiB
7-Zip0.0627 s🥉 0.0469 s🥈 2.4 MiB
PeaZip0.0627 s0.0469 s🥉 2.7 MiB
Info-ZIP zip/unzip0.0846 s0.0781 s6.7 MiB
NanaZip0.104 s0.0625 s2.8 MiB
WinRAR0.139 s0.141 s8.2 MiB
WinZip0.146 s0.0938 s36.7 MiB

Extract the tool's own ZIP · silesia

ToolSpeed (wall)CPU timePeak memory
blazezip🥇 0.0895 s0.984 s24.3 MiB
Windows built-in (tar)🥈 0.416 s🥇 0.391 s🥇 1.4 MiB
pzip / punzip🥉 0.437 s1.64 s17.2 MiB
WinZip0.821 s1.34 s127.3 MiB
7-Zip0.912 s🥉 0.906 s🥈 2.5 MiB
WinRAR0.934 s0.906 s8.2 MiB
PeaZip0.939 s0.906 s🥉 2.7 MiB
NanaZip0.946 s🥈 0.844 s2.8 MiB
Info-ZIP zip/unzip1.21 s1.2 s6.7 MiB

Extract the tool's own ZIP · enwik8

ToolSpeed (wall)CPU timePeak memory
blazezip🥇 0.046 s🥈 0.5 s18.8 MiB
Windows built-in (tar)🥈 0.239 s🥇 0.234 s🥇 1.4 MiB
PeaZip🥉 0.516 s0.5 s🥉 2.7 MiB
7-Zip0.521 s🥉 0.5 s🥈 2.4 MiB
NanaZip0.575 s0.5 s2.8 MiB
WinRAR0.576 s0.562 s8.2 MiB
pzip / punzip0.588 s0.578 s12.7 MiB
WinZip0.603 s0.609 s16.2 MiB
Info-ZIP zip/unzip0.663 s0.672 s6.7 MiB

Extract the tool's own ZIP · linux

ToolSpeed (wall)CPU timePeak memory
Windows built-in (tar)🥇 8.14 s🥇 7.7 s🥇 5.5 MiB
blazezip🥈 20.1 s🥈 22.5 s26.5 MiB
pzip / punzip🥉 22.8 s30.8 s37.6 MiB
Info-ZIP zip/unzip24.1 s🥉 23.2 s🥈 7.7 MiB
WinRAR25.8 s23.7 s🥉 8.2 MiB

Extract the tool's own ZIP · binaries

ToolSpeed (wall)CPU timePeak memory
blazezip🥇 0.207 s1.92 s24.8 MiB
Windows built-in (tar)🥈 0.805 s🥇 0.781 s🥇 1.5 MiB
pzip / punzip🥉 1.22 s2.91 s22.7 MiB
WinZip1.66 s3.53 s410.8 MiB
7-Zip1.76 s🥉 1.69 s🥈 2.5 MiB
NanaZip1.76 s🥈 1.66 s2.8 MiB
WinRAR1.81 s1.73 s8.2 MiB
PeaZip1.81 s1.78 s🥉 2.8 MiB
Info-ZIP zip/unzip2.48 s2.45 s6.7 MiB

Extract the tool's own ZIP · media

ToolSpeed (wall)CPU timePeak memory
blazezip🥇 0.137 s0.281 s22.2 MiB
Windows built-in (tar)🥈 0.224 s🥇 0.203 s🥇 1.4 MiB
7-Zip🥉 0.244 s🥈 0.234 s🥈 1.5 MiB
pzip / punzip0.254 s0.609 s20.0 MiB
PeaZip0.255 s0.25 s🥉 1.8 MiB
NanaZip0.287 s🥉 0.234 s1.9 MiB
WinZip0.977 s2.25 s328.4 MiB
WinRAR1.09 s1.05 s8.2 MiB
Info-ZIP zip/unzip1.27 s1.25 s6.7 MiB

Compress, native format · silesia · fast

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.103 s🥉 1.27 s158.9 MiB34.6%
zstd🥈 0.128 s🥈 1.08 s🥉 79.1 MiB34.6%
LZ4🥉 0.234 s🥇 0.594 s🥈 53.4 MiB51.5%
pigz0.367 s4.8 s🥇 25.1 MiB36.4%
PeaZip1.14 s18.2 s98.3 MiB🥉 27.9%
7-Zip1.18 s18.3 s97.9 MiB🥇 27.9%
NanaZip1.25 s20.4 s247.9 MiB🥈 27.9%
WinRAR1.3 s11.8 s305.3 MiB31.5%

Compress, native format · silesia · default

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.185 s2.47 s🥉 165.5 MiB31.4%
zstd🥈 0.214 s🥈 1.61 s295.5 MiB31.2%
LZ4🥉 0.231 s🥇 0.656 s🥈 53.4 MiB47.6%
pigz0.822 s14.4 s🥇 25.3 MiB32.2%
LZFSE2.37 s🥉 2.33 s506.5 MiB31.9%
WinRAR3.74 s44.5 s305.4 MiB25.6%
NanaZip24.5 s63.3 s1167.5 MiB🥈 23.4%
7-Zip24.5 s64 s1167.0 MiB🥇 23.4%
PeaZip24.6 s64.2 s1167.3 MiB🥉 23.4%

Compress, native format · silesia · max

ToolSpeed (wall)CPU timePeak memorySize
pigz🥇 1.76 s🥇 31.7 s🥇 25.1 MiB31.9%
LZ4🥈 2.46 s🥈 33.2 s🥈 219.4 MiB36.5%
WinRAR🥉 5.56 s70.4 s🥉 574.9 MiB25.1%
blazezip7.97 s127 s1124.5 MiB26.2%
zstd22.4 s114 s1345.2 MiB24.9%
PeaZip47.1 s68 s2189.9 MiB🥉 23.0%
NanaZip47.2 s🥉 67.7 s2190.0 MiB🥈 23.0%
7-Zip47.3 s68.6 s2189.6 MiB🥇 23.0%

Compress, native format · enwik8 · fast

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.0724 s🥉 0.812 s87.8 MiB40.8%
zstd🥈 0.0846 s🥈 0.703 s🥉 77.1 MiB40.7%
LZ4🥉 0.136 s🥇 0.344 s🥈 53.4 MiB66.5%
pigz0.177 s2.52 s🥇 25.1 MiB42.3%
7-Zip0.695 s11.7 s97.9 MiB🥇 33.4%
PeaZip0.698 s11.7 s98.3 MiB🥉 33.4%
WinRAR0.716 s6.47 s304.8 MiB35.3%
NanaZip0.793 s12.5 s171.2 MiB🥈 33.4%

Compress, native format · enwik8 · default

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.112 s1.53 s🥉 99.2 MiB35.9%
zstd🥈 0.15 s🥈 1.12 s252.8 MiB35.4%
LZ4🥉 0.295 s🥇 0.391 s🥈 57.4 MiB57.3%
pigz0.517 s8.67 s🥇 25.1 MiB36.6%
LZFSE1.42 s🥉 1.41 s287.9 MiB36.2%
WinRAR2.94 s41.1 s305.6 MiB28.6%
7-Zip48 s60.8 s377.8 MiB🥇 25.4%
NanaZip48 s59.9 s378.2 MiB🥈 25.4%
PeaZip48.1 s60.5 s378.1 MiB🥉 25.4%

Compress, native format · enwik8 · max

ToolSpeed (wall)CPU timePeak memorySize
pigz🥇 0.613 s🥈 11 s🥇 24.9 MiB36.5%
LZ4🥈 0.917 s🥇 10.7 s🥈 155.3 MiB42.0%
WinRAR🥉 3.58 s🥉 50.8 s🥉 574.7 MiB27.4%
blazezip4.35 s62.5 s738.5 MiB30.6%
zstd23.7 s66.7 s890.8 MiB26.9%
7-Zip54 s68.1 s1045.0 MiB🥇 24.8%
PeaZip54.4 s68.2 s1045.3 MiB🥉 24.8%
NanaZip54.6 s68.5 s1045.4 MiB🥈 24.8%

Compress, native format · linux · fast

ToolSpeed (wall)CPU timePeak memorySize
zstd🥇 0.123 s🥈 1.14 s🥉 77.1 MiB24.9%
blazezip🥈 0.14 s🥉 1.73 s149.9 MiB24.9%
LZ4🥉 0.225 s🥇 0.672 s🥈 53.4 MiB40.8%
pigz0.348 s3.86 s🥇 25.1 MiB27.6%
PeaZip0.856 s14.8 s98.3 MiB🥉 20.0%
7-Zip0.867 s14.7 s97.9 MiB🥇 20.0%
NanaZip0.973 s15.7 s213.4 MiB🥈 20.0%
WinRAR1.2 s11.8 s305.7 MiB21.9%

Compress, native format · linux · default

ToolSpeed (wall)CPU timePeak memorySize
zstd🥇 0.188 s🥈 1.64 s287.5 MiB22.2%
blazezip🥈 0.207 s3 s🥉 160.9 MiB22.4%
LZ4🥉 0.214 s🥇 0.703 s🥈 53.4 MiB35.9%
pigz0.686 s11.7 s🥇 25.1 MiB22.3%
LZFSE2.31 s🥉 2.25 s515.7 MiB22.1%
WinRAR3.89 s49.6 s305.3 MiB17.5%
NanaZip34.7 s77.9 s1167.5 MiB🥈 16.0%
PeaZip35.6 s80.2 s1167.3 MiB🥉 16.0%
7-Zip35.7 s80.2 s1167.0 MiB🥇 16.0%

Compress, native format · linux · max

ToolSpeed (wall)CPU timePeak memorySize
pigz🥇 1.25 s🥇 20.6 s🥇 25.1 MiB22.1%
LZ4🥈 1.57 s🥈 23.2 s🥈 195.0 MiB25.9%
WinRAR🥉 5.55 s🥉 71.4 s🥉 574.7 MiB17.0%
blazezip7.73 s126 s1117.3 MiB17.5%
zstd21 s126 s1345.2 MiB16.4%
7-Zip75 s98.6 s2233.1 MiB🥇 15.3%
PeaZip75.1 s98.3 s2233.4 MiB🥉 15.3%
NanaZip75.4 s98.1 s2233.6 MiB🥈 15.3%

Decompress, native format · silesia

ToolSpeed (wall)CPU timePeak memory
blazezip🥇 0.0884 s0.891 s🥇 3.8 MiB
zstd🥈 0.222 s🥈 0.281 s🥉 7.0 MiB
LZ4🥉 0.31 s🥇 0.188 s36.9 MiB
LZFSE0.497 s🥉 0.406 s388.4 MiB
WinRAR0.622 s1.23 s46.5 MiB
pigz0.74 s1.02 s🥈 6.1 MiB
PeaZip1.11 s1.78 s253.0 MiB
7-Zip1.14 s1.81 s252.7 MiB
NanaZip1.18 s1.78 s253.7 MiB

Decompress, native format · enwik8

ToolSpeed (wall)CPU timePeak memory
blazezip🥇 0.0569 s0.531 s🥇 3.6 MiB
LZFSE🥈 0.262 s🥉 0.219 s207.9 MiB
zstd🥉 0.274 s🥈 0.172 s🥉 7.0 MiB
LZ40.291 s🥇 0.0938 s36.9 MiB
WinRAR0.325 s0.547 s46.2 MiB
pigz0.437 s0.516 s🥈 6.1 MiB
PeaZip0.803 s0.781 s121.8 MiB
7-Zip0.823 s0.812 s121.6 MiB
NanaZip0.866 s0.766 s122.2 MiB

Decompress, native format · linux

ToolSpeed (wall)CPU timePeak memory
blazezip🥇 0.0887 s0.859 s🥇 3.8 MiB
zstd🥈 0.207 s🥈 0.281 s🥉 7.0 MiB
LZ4🥉 0.296 s🥇 0.172 s36.9 MiB
WinRAR0.483 s0.953 s46.2 MiB
pigz0.625 s0.906 s🥈 6.1 MiB
LZFSE0.738 s🥉 0.625 s642.1 MiB
PeaZip0.824 s1.25 s242.8 MiB
7-Zip0.841 s1.3 s242.6 MiB
NanaZip0.887 s1.23 s243.4 MiB

Charts

blazezip is highlighted in orange.

Speed versus size

Create a ZIP (default level): wall time

Extract a ZIP: wall time

Compress in each tool's native format (default level): wall time

Decompress native format: wall time

Create a ZIP (default level): peak memory

Extended suite

The extended suite covers behaviour as well as speed: scaling, start-up time, very large and very many files, Unicode and legacy names, metadata, corrupt and hostile archives, locked files, interruption, memory caps and more. Each (test, metric) pair awards medals; ties share a place.

#Tool🥇🥈🥉Total
1blazezip5514877
27-Zip36101561
3Windows built-in (tar)35211066
4PeaZip3561253
5NanaZip349952
6Bandizip30112061
7Info-ZIP zip/unzip2912546
8WinZip245332
9WinRAR2371343
10pzip / punzip2217746
11LZFSE0011

blazezip places first in 55 of the 125 ranked metrics it takes part in.

Every extended-suite metric, with blazezip's place
TestMetricblazezipPlaceBest other tool
M031-CPU create silesia: wall2.612 s🥈pzip / punzip 2.533 s
M041-CPU extract silesia: wall0.4134 s🥇Windows built-in (tar) 0.4379 s
M05create silesia at 1 CPUs: wall2.474 s🥈pzip / punzip 2.448 s
M05create silesia at 2 CPUs: wall1.275 s🥇pzip / punzip 1.494 s
M05create silesia at 20 CPUs: wall0.5145 s🥇pzip / punzip 0.9103 s
M05create silesia at 4 CPUs: wall0.8335 s🥇pzip / punzip 0.9692 s
M05create silesia at 8 CPUs: wall0.5834 s🥇pzip / punzip 0.8923 s
M05speed-up 20 CPUs vs 14.808 x6thBandizip 24.56 x
M06time to first output byte0.5024 s5thWindows built-in (tar) 0.02208 s
M09create silesia under full CPU load: wall0.9388 s🥇Bandizip 1.27 s
M11100k x 1 KiB create: CPU11.7 s🥇WinRAR 12.17 s
M11100k x 1 KiB create: peak memory67.41 MiB4thWindows built-in (tar) 10.37 MiB
M11100k x 1 KiB create: wall1.576 s🥇pzip / punzip 4.303 s
M11100k x 1 KiB extract own: CPU118.7 s4th7-Zip 54.42 s
M11100k x 1 KiB extract own: wall107.5 s4th7-Zip 57.08 s
M124.6 GiB file create: peak memory30.58 MiB6thInfo-ZIP zip/unzip 1.457 MiB
M124.6 GiB file create: wall17.98 s🥇Bandizip 22.43 s
M124.6 GiB file extract own: wall3.077 s🥇Windows built-in (tar) 13.73 s
M13paths > 260 chars: round-trip intact1🥇pzip / punzip 1
M14Unicode names: round-trip intact1🥇pzip / punzip 1
M15zeros + sparse 2 GiB create: CPU6.75 s🥈pzip / punzip 1.359 s
M15zeros + sparse 2 GiB create: peak memory30.4 MiB6thInfo-ZIP zip/unzip 1.449 MiB
M15zeros + sparse 2 GiB create: size0.1029 %4thInfo-ZIP zip/unzip 0.09708 %
M15zeros + sparse 2 GiB create: wall0.8825 s🥈pzip / punzip 0.7071 s
M15zeros + sparse 2 GiB extract own: CPU6.578 s7thWindows built-in (tar) 1 s
M15zeros + sparse 2 GiB extract own: wall0.7565 s🥇Windows built-in (tar) 1.092 s
M16mixed tree create: CPU12.16 s🥇pzip / punzip 13.84 s
M16mixed tree create: peak memory65.94 MiB5thWindows built-in (tar) 2.316 MiB
M16mixed tree create: size38.62 %6th7-Zip 37.85 %
M16mixed tree create: wall1.575 s🥇Bandizip 2.928 s
M16mixed tree extract own: CPU7.094 s7thWindows built-in (tar) 2.297 s
M16mixed tree extract own: wall3.23 s🥈Windows built-in (tar) 2.425 s
M17media (incompressible) default: size100 %🥇7-Zip 100 %
M17media (incompressible) default: wall0.1596 s🥇pzip / punzip 0.3424 s
M18add 1 MiB file to silesia archive: wall0.09455 s🥇Bandizip 0.1073 s
M19delete 1 entry from silesia archive: wall0.08995 s🥉7-Zip 0.06934 s
M20extract 1 file from 23k-entry zip: wall0.02129 s🥇Info-ZIP zip/unzip 0.03078 s
M21list 100k-entry zip: wall0.06105 s🥇Info-ZIP zip/unzip 0.1573 s
M22test silesia zip: CPU0.5625 s🥈Windows built-in (tar) 0.3906 s
M22test silesia zip: wall0.1818 s🥇Bandizip 0.2877 s
M23peak working set (all processes)27.96 MiB4thWindows built-in (tar) 6.238 MiB
M24bytes read205.1 MiB9th7-Zip 202.1 MiB
M25bytes written64.53 MiB6th7-Zip 62.6 MiB
M27peak handles61🥇Info-ZIP zip/unzip 82
M27peak threads10🥉Info-ZIP zip/unzip 4
M29page faults84354thInfo-ZIP zip/unzip 1847
M30create 1-file archive: wall0.01785 s4thpzip / punzip 0.01247 s
M30extract 1-file archive: wall0.01563 s4thpzip / punzip 0.01167 s
M31share of rival points beaten on both size and time68.15 %🥇7-Zip 53.85 %
M32media: fastest wall within 1% of 7-Zip default size0.1718 s🥇pzip / punzip 0.3424 s
M33MiB saved per CPU-second (median)20.42 MiB/s🥈pzip / punzip 34.2 MiB/s
M347-Zip 1-CPU decode of its silesia zip: CPU1.094 s10thPeaZip 0.9219 s
M35bytes per entry (10k empty files)158.2 B🥉WinZip 104.1 B
M36identical output on repeat1🥇pzip / punzip 1
M37identical output on 1 CPU vs all1🥇7-Zip 1
M38readers passing (of 10)85thpzip / punzip 9
M39metadata checks passed (of 6)6🥇7-Zip 6
M41UTF-8 names flagged1🥇pzip / punzip 1
M42locked input handling (0-2)2🥇7-Zip 2
M43corruptions detected100 %🥇pzip / punzip 100 %
M44files recovered from half an archive70.1 %🥇7-Zip 70.1 %
M45zip-slip entries blocked (of 4)4🥇7-Zip 4
M481M entries create: peak memory619.1 MiB4thWindows built-in (tar) 90.11 MiB
M481M entries create: wall1.252 s🥇Windows built-in (tar) 56.21 s
M49Ctrl-C: stops (1) and cleans up (2)2🥇7-Zip 2
M50run-to-run variation (median CV)6.909 %10thPeaZip 2.831 %
M51reserved-name entries recovered (of 7)58thBandizip 7
M52junction loop handled (0-2)2🥇Bandizip 2
M53links handled (of 2)19th7-Zip 2
M54Mark of the Web passed on (% of files)0 %5thNanaZip 100 %
M56overwrite a read-only file (0-2)2🥇7-Zip 2
M58growing file: valid archive (1) + change reported (1)16th7-Zip 2
M59folder times kept (of 2)08th7-Zip 2
M60unusual dates kept (of 3)3🥇7-Zip 3
M61legacy-encoded names read correctly (of 3)1🥇7-Zip 1
M62macOS resource-fork clutter skipped0🥈Bandizip 1
M63Unix archive: files (1) + symlink as link or copy (1)1🥈Info-ZIP zip/unzip 2
M64compression methods extracted (of 6)19th7-Zip 6
M65NFC/NFD names both kept1🥇pzip / punzip 1
M66comments kept through add and delete (of 2)07th7-Zip 2
M67overlapping zip bomb blocked06th7-Zip 1
M68size larger than declared: stopped or reported1🥇pzip / punzip 1
M71create 1,000 files, Defender-scanned folder: wall0.0516 s🥇pzip / punzip 0.09632 s
M71extract 1,000 files, Defender-scanned folder: wall0.5722 s🥈Windows built-in (tar) 0.428 s
M72timer lateness p99 while creating silesia0.7112 ms🥈pzip / punzip 0.638 ms
M73two creates at once: wall until both finish0.7885 s🥇pzip / punzip 1.162 s
M74completes within a 256 MiB memory cap1🥇pzip / punzip 1
M74max-preset create under a 256 MiB cap: wall1.514 s🥈pzip / punzip 0.845 s
M75extract over existing files: wall2.107 s9thpzip / punzip 0.4202 s
M77timer lateness p99 while extracting linux122.2 ms10thWindows built-in (tar) 0.661 ms
M78speed/size curve area (log time x % saved)111.76thBandizip 141.6
M79smallest archive within 1 s31.76 %🥇Bandizip 32.2 %
M79smallest archive within 10 s30.61 %🥇WinZip 30.74 %
M79smallest archive within 3 s31.56 %🥈WinZip 31.11 %
M80JSON logs 256 MiB create: CPU4.609 s4thpzip / punzip 2.953 s
M80JSON logs 256 MiB create: peak memory30.55 MiB5thInfo-ZIP zip/unzip 1.465 MiB
M80JSON logs 256 MiB create: size13.91 %4th7-Zip 13.73 %
M80JSON logs 256 MiB create: wall0.6296 s🥉pzip / punzip 0.2299 s
M80JSON logs 256 MiB extract own: CPU0.8281 s6thWindows built-in (tar) 0.3594 s
M80JSON logs 256 MiB extract own: wall0.1113 s🥇pzip / punzip 0.2536 s
M81SQLite 128 MiB create: CPU3.828 s🥉pzip / punzip 2.031 s
M81SQLite 128 MiB create: peak memory30.18 MiB6thInfo-ZIP zip/unzip 1.453 MiB
M81SQLite 128 MiB create: size39.27 %6th7-Zip 37.86 %
M81SQLite 128 MiB create: wall0.5051 s🥈Bandizip 0.4184 s
M81SQLite 128 MiB extract own: CPU0.7031 s🥉Windows built-in (tar) 0.2969 s
M81SQLite 128 MiB extract own: wall0.08014 s🥇Windows built-in (tar) 0.3154 s
M82git checkout + .git create: CPU0.8906 s🥇pzip / punzip 1.031 s
M82git checkout + .git create: peak memory32.08 MiB5thWindows built-in (tar) 2.32 MiB
M82git checkout + .git create: size49.21 %7thWinZip 24.04 %
M82git checkout + .git create: wall0.1093 s🥇pzip / punzip 0.2423 s
M82git checkout + .git extract own: CPU4.266 s8thWindows built-in (tar) 1.203 s
M82git checkout + .git extract own: wall2.95 s7thWindows built-in (tar) 1.26 s
M83docx + pdf create: CPU0.1875 s🥇Bandizip 0.2344 s
M83docx + pdf create: peak memory11.77 MiB4thWindows built-in (tar) 1.582 MiB
M83docx + pdf create: size102.4 %7thWinZip 101.1 %
M83docx + pdf create: wall0.04239 s🥇pzip / punzip 0.07347 s
M83docx + pdf extract own: CPU1.156 s9thWindows built-in (tar) 0.2656 s
M83docx + pdf extract own: wall0.6347 s7thWindows built-in (tar) 0.2929 s
M84add 1 file to a 100k-entry zip: wall0.1388 s🥇Info-ZIP zip/unzip 0.5855 s
M85update 10 changed of 1,000 files: wall0.1074 s🥉PeaZip 0.07466 s
M86list a 1M-entry zip: wall0.4937 s🥇Info-ZIP zip/unzip 1.782 s
M87extract the last entry of a 1M-entry zip: wall0.2014 s🥇Info-ZIP zip/unzip 0.7003 s
M88list a 1M-entry zip: peak memory171.5 MiB🥉Info-ZIP zip/unzip 6.695 MiB
M89files recovered with a damaged end record100 %🥇7-Zip 100 %
M90command-line tool size1.297 MiB6thNanaZip 0 MiB

Corpora and tool versions

CorpusFilesSizeDescription
canterbury311 MBCanterbury large corpus (3 files, 11 MB) — small-archive latency
silesia12212 MBSilesia corpus — the standard compression benchmark (12 mixed files, 211 MB)
enwik81100 MBenwik8 Wikipedia dump (1 file, 100 MB) — single large file
linux22,336200 MBLinux 6.6 source subset — tens of thousands of small source files
binaries55417 MBWindows executables & DLLs (Rust toolchain) — a typical program folder
media32336 MBIncompressible media-like data (32 files, 320 MB)
ToolVersionNative format
blazezip0.1.0 (this repo)zip + Zstandard
7-Zip7-Zip 26.04 (x64)7z (LZMA2)
NanaZipNanaZip 7.0 , version 2609.2 (x64)7z (LZMA2)
PeaZip7-Zip 26.02 (x64)7z (LZMA2)
Bandizipbz 7.47(Beta,x64) - Bandizip console too–
WinRAR7.23.0RAR5
WinZipVersion 6.0 64-bit (Build 14567)–
Info-ZIP zip/unzip––
Windows built-in (tar)bsdtar 3.8.8 - libarchive 3.8.8 zlib/1.2–
zstdZstandard CLI (64-bit) v1.5.7Zstandard
pigzpigz 2.8gzip
LZ4lz4 v1.10.0 64-bit multithreadLZ4 frame
LZFSE–LZFSE
pzip / punzipallow up to n compression routines (defa–

Benchmarks

python bench/bench.py                 # everything: all corpora, 10 runs per test
python bench/bench.py --quick         # fewer corpora, still 10 runs per test
python bench/bench.py --corpora silesia,linux --tools blazezip,7zip
python bench/bench.py --reps 10 --keep-best 5         # busy machine: drop the 5 slowest runs
python bench/bench.py --resume results/<run>          # continue an interrupted run
python bench/bench.py --report                        # rebuild results/latest-report.html

Each run writes results/<timestamp>/results.json and report.html, and copies the latest report to results/latest-report.html.

What is measured. Every command runs under benchrun (bench/benchrun), which launches it inside a Windows Job Object and reports wall time, total CPU time and peak committed memory for the whole process tree. Every test runs 10 times and the median is reported (with --keep-best K, the median of the K fastest runs). Benchmark builds of blazezip target the local CPU (x86-64-v3 when AVX2 is available) and compile the C libraries with clang-cl when it is installed; ordinary release builds stay portable.

Benchmarks.

CategoryWhat happens
ZIP createfolder → .zip with Deflate at each tool's fast / default / max preset (blazezip's max is -9; -10..-12 trade 4-8× CPU for under 1% ratio)
ZIP extractevery tool extracts the same reference .zip made by 7-Zip
ZIP round-tripevery tool extracts the archive it made itself
Native compressone large file (a .tar of the corpus, or enwik8) → each tool's own best format
Native decompresseach tool decompresses its own native output

Medals go to the top three per benchmark for each metric: speed, CPU time, memory and, for compression, output size. Only verified results count: created ZIPs must pass 7z t, extractions are hash-checked file by file, and native round-trips must be byte-identical.

Extended suite. python bench/extended.py measures 91 further metrics on every tool, each with medals:

  • speed with one CPU, at 1/2/4/8/all CPUs, under full CPU contention, two jobs at once, under a 256 MiB memory cap, in a Defender-scanned folder, and time to first byte;
  • how much a tool slows other programs (p99 lateness of a 10 ms timer while it works);
  • workload shapes: 100k tiny files, a 4.6 GiB file, paths over 260 characters, Unicode names, sparse and zero files, a mixed home-folder tree, JSON logs, a SQLite database, a git checkout, Word and PDF documents, 70k and 1M entries;
  • the whole speed/size curve: every compression level, the area under it, and the smallest archive within 1, 3 and 10 seconds;
  • operations: add, delete, update, extract one file, list and test, also on 100k- and 1M-entry archives;
  • resources: working set, bytes read and written, temp space, threads, handles, page faults, start-up cost and tool size;
  • archive quality: Pareto efficiency, size per CPU-second, per-entry overhead, reproducibility, and decode cost for a neutral reader;
  • Windows file-system cases: device names (aux.h), junction loops, hard links, Mark of the Web, case-only name clashes, read-only and unwritable destinations, live-growing files, folder times and dates outside 1980-2107;
  • archives from elsewhere: legacy code pages, macOS clutter, Unix symlinks, Deflate64, BZip2, LZMA, PPMd, XZ and Zstandard entries, NFC/NFD names, comments, and encryption;
  • safety and correctness: five independent readers, metadata, Zip64, UTF-8 flags, locked inputs, corruption detection, CRC and size mismatches, overlapping zip bombs, truncated and damaged-end recovery, zip-slip, exit codes and Ctrl-C clean-up.

A few metrics (cold cache and first run, HDD, USB and network targets, energy, disk full, power-saver) need hardware or administrator rights; the report lists them with the reason. Metrics where every tool ties award no medals. Each run goes to results/ext-<timestamp>/extended.html; results/ext-latest-report.html combines every competitor's best result with blazezip's latest. python -m pytest bench/tests tests the suite's own helpers.

Corpora. All are standard or deterministic: Silesia (the standard compression benchmark), the Canterbury large corpus, enwik8, a Linux 6.6 source subset, real Windows binaries, and synthetic incompressible media.

Getting the competitors

Most install with winget: 7zip.7zip, M2Team.NanaZip, Giorgiotani.Peazip, Bandisoft.Bandizip, RARLab.WinRAR, Corel.WinZip with Corel.WinZip.CommandLineSupportAddOn, and Meta.Zstandard. The suite also looks in tools/ for the following:

  • tools/lz4/: the official Windows release
  • tools/pigz/: the Cygwin pigz build with cygwin1.dll and cygz.dll
  • tools/lzfse/: built from https://github.com/lzfse/lzfse with MSVC
  • tools/winrar/: a portable copy unpacked from the WinRAR installer
  • tools/pzip/: go install github.com/ybirader/pzip/cmd/{pzip,punzip}@latest

WinZip's command-line add-on only works after WinZip has been opened once to accept its trial or licence.

Licence

blazezip is released under the MIT licence. It includes libdeflate (MIT) and Zstandard (BSD-3-Clause); see THIRD_PARTY_NOTICES.md.

archiver
compression
deflate
rust
windows
zip
zstd

marksmayo/blazezip

A very fast, parallel, standards-compliant ZIP archiver for Windows, with a benchmark suite

Python

4

2 commits

updated Oct 14, 2026

See the code

See what people are saying

README

blazezip

CI Release Downloads License: MIT Platform: Windows x64 Rust 1.85+ Language: Rust Formats: ZIP, Deflate, Zstandard Last commit

A very fast, parallel, standards-compliant ZIP archiver for Windows, plus a benchmark suite that pits it against 7-Zip, NanaZip, PeaZip, Bandizip, WinRAR, WinZip, Info-ZIP, pzip, zstd, pigz, LZ4 and LZFSE and awards medals. On the test machine it wins more gold medals than any other tool in both suites; see Performance.

blazezip is Windows-only: it uses Windows file APIs directly for its speed.

Installing

Download blazezip-<version>-x86_64-pc-windows-msvc.zip from Releases, unzip it and put blazezip.exe on your PATH. Each release has a .sha256 checksum next to it.

To build from source you need Rust 1.85 or later (MSVC toolchain). LLVM's clang-cl is optional but recommended: with it, libdeflate gets its fastest (BMI2) decoder.

cargo build --release        # target/release/blazezip.exe
cargo test --release

Using blazezip

blazezip c out.zip folder [more inputs...]   # create (Deflate, level 6)
blazezip c out.zip folder -1                 # fastest   (-12 = smallest)
blazezip c out.zip folder --zstd             # Zstandard inside ZIP (method 93)
blazezip a out.zip more-files                # add (replacing same-named entries)
blazezip d out.zip folder/old.txt            # delete entries (or whole directories)
blazezip x out.zip -o dest                   # extract
blazezip x out.zip folder/a.txt -o dest      # extract only the named entries
blazezip t out.zip                           # verify CRCs without writing
blazezip l out.zip                           # list

Options: -t N threads (default: 8 when creating Deflate archives, up to 12 for small inputs at -7 and above; otherwise all logical CPUs), --chunk MiB, --no-store, -q, -V/--version. The thread count never changes the archive: the same inputs and options give the same bytes.

Exit codes: 0 on success, 1 on any error. 1 is also returned when the job finished but not cleanly: input files that could not be read were left out of the archive (and named on stderr), or a damaged archive was only partly recovered.

Why it's fast

  • Everything is parallel. Files compress concurrently (runs of small files are batched into one job); a single large file is split into 1 MiB chunks that compress on all cores. The input tree is walked in parallel. A bounded in-flight window (in jobs and bytes) keeps memory proportional to the thread count rather than the input size, and output buffers are recycled.
  • libdeflate does all Deflate work. It is vendored in third_party/libdeflate with one small addition, libdeflate_deflate_compress_sync(), which ends a chunk with a sync flush instead of a final block. The chunks concatenate into one ordinary Deflate stream that every unzip tool reads. With LLVM installed, libdeflate is built with clang-cl, which (unlike MSVC) can build its BMI2 decompressor and fastest CRC-32; blazezip uses that CRC-32 too.
  • Parallel decompression of single large files. blazezip records each chunk's compressed size in a private extra field (0x7a42) that other tools ignore. On extraction, every chunk is decoded independently, straight into a memory-mapped output file.
  • Incompressible data is detected and stored. Samples are test-compressed first, so photos, video and existing archives skip pointless work.
  • Only the threads that help. Storing incompressible data is I/O-bound, so creation uses two threads plus one per MiB that actually needs compressing. Extraction stops adding threads once the largest file, not the thread count, sets the finishing time.
  • Windows-aware I/O. Directories are created up front (a level at a time, in parallel), files are created from many threads (NTFS file creation parallelises well; for many small files, twice as many threads as cores), handles are closed on separate threads because closing a freshly written file is where antivirus scanning blocks, and large stored entries are streamed with ReadFile and WriteFile instead of page-faulting a mapping. The process opts out of Windows power throttling so it isn't parked on efficiency cores.

Archives are plain ZIP (Zip64 when needed), verified with 7z t and Info-ZIP unzip -t. They record Windows attributes (read-only, hidden, system) and NTFS timestamps (100 ns), which blazezip and 7-Zip restore on extraction. A file that cannot be read (locked by another process, say) is skipped with a warning and a non-zero exit code; everything else is archived. An interrupted or failed run never leaves a partial archive behind. Adding and deleting copy the other entries' compressed data unchanged, and if an archive's central directory is missing (a truncated download, say), extraction recovers what the local headers still describe and exits with an error.

Performance

Measured on 12th Gen Intel(R) Core(TM) i7-12700H (14 cores, 20 threads), 31.7 GB RAM, NVMe KXG70ZNV512G NVMe KIOXIA 512GB, Windows 11 (10.0.26300), with Windows Defender real-time protection on. Every test runs 10 times under a Windows Job Object; the median of the fastest five runs is reported. Competitors keep their best result across recent runs, blazezip shows its latest. Tool versions are listed below. Generated by python bench/readme_perf.py on 2026-10-14.

Medals per tool

Main suite: medal table

Every benchmark awards gold, silver and bronze for each metric: wall time, CPU time, peak memory and (when creating) archive size.

#Tool🥇🥈🥉Total
1blazezip57181792
2Windows built-in (tar)2419245
37-Zip24171455
4Info-ZIP zip/unzip1712837
5pigz144018
6LZ41014832
7pzip / punzip461020
8zstd215724
9WinRAR1163047
10NanaZip026834
11WinZip0459
12PeaZip013839
13LZFSE0167

Where blazezip wins

Gold medals won by blazezip, by metric: Speed (wall) 34/42, CPU time 16/42, Peak memory 4/42, Size 3/27.

Each cell is blazezip's result and its place; where it is not in the top three, the best tool's result is shown for comparison. Sizes are the archive as a share of the input.

BenchmarkSpeed (wall)CPU timePeak memorySize
Create a ZIP · canterbury · fast🥇 0.024 s🥇 0.125 s🥈 11.2 MiB6th · 32.2% (best 7-Zip 30.4%)
Create a ZIP · canterbury · default🥈 0.0743 s🥈 0.469 s🥉 15.0 MiB5th · 28.5% (best 7-Zip 27.3%)
Create a ZIP · canterbury · max🥇 0.248 s🥈 2.67 s🥉 22.3 MiB5th · 28.1% (best 7-Zip 27.3%)
Create a ZIP · silesia · fast🥇 0.21 s🥇 1.56 s🥉 26.6 MiB6th · 34.7% (best 7-Zip 33.1%)
Create a ZIP · silesia · default🥇 0.461 s🥇 3.53 s4th · 30.7 MiB (best Info-ZIP zip/unzip 1.5 MiB)6th · 31.9% (best 7-Zip 31.0%)
Create a ZIP · silesia · max🥇 1.3 s🥇 10 s🥉 31.6 MiB5th · 31.6% (best 7-Zip 30.5%)
Create a ZIP · enwik8 · fast🥇 0.132 s🥇 0.922 s🥉 24.6 MiB6th · 39.2% (best 7-Zip 37.9%)
Create a ZIP · enwik8 · default🥇 0.304 s🥈 2.22 s5th · 28.2 MiB (best Info-ZIP zip/unzip 1.4 MiB)8th · 36.7% (best 7-Zip 35.2%)
Create a ZIP · enwik8 · max🥇 0.528 s🥇 4.06 s🥉 28.2 MiB6th · 36.3% (best 7-Zip 35.1%)
Create a ZIP · linux · fast🥇 0.507 s🥇 3.69 s🥉 37.6 MiB5th · 32.4% (best 7-Zip 31.0%)
Create a ZIP · linux · default🥇 0.692 s🥇 5.28 s4th · 42.6 MiB (best Windows built-in (tar) 4.6 MiB)5th · 30.1% (best 7-Zip 29.5%)
Create a ZIP · linux · max🥇 1.28 s🥇 9.61 s🥉 49.7 MiB5th · 29.9% (best 7-Zip 29.1%)
Create a ZIP · binaries · fast🥇 0.544 s🥇 4.08 s🥉 34.0 MiB6th · 33.4% (best 7-Zip 31.6%)
Create a ZIP · binaries · default🥇 0.998 s🥈 7.67 s4th · 36.5 MiB (best Info-ZIP zip/unzip 1.6 MiB)6th · 30.7% (best 7-Zip 29.9%)
Create a ZIP · binaries · max🥇 2.54 s🥇 19.1 s🥉 37.1 MiB5th · 30.5% (best 7-Zip 29.5%)
Create a ZIP · media · fast🥇 0.187 s🥇 0.453 s🥈 9.6 MiB🥇 100.0%
Create a ZIP · media · default🥇 0.179 s🥇 0.359 s🥉 9.8 MiB🥇 100.0%
Create a ZIP · media · max🥇 0.18 s🥇 0.391 s🥈 9.7 MiB🥇 100.0%
Extract a ZIP · canterbury🥇 0.019 s🥈 0.0312 s7th · 11.4 MiB (best Windows built-in (tar) 1.4 MiB)
Extract a ZIP · silesia🥇 0.14 s🥈 0.516 s8th · 20.4 MiB (best Windows built-in (tar) 1.4 MiB)
Extract a ZIP · enwik8🥇 0.198 s🥇 0.188 s🥇 0.9 MiB
Extract a ZIP · linux🥈 20.6 s🥈 22.1 s4th · 26.5 MiB (best Windows built-in (tar) 5.5 MiB)
Extract a ZIP · binaries🥇 0.62 s🥈 1.23 s7th · 19.6 MiB (best Windows built-in (tar) 1.5 MiB)
Extract a ZIP · media🥇 0.125 s5th · 0.281 s (best Windows built-in (tar) 0.188 s)8th · 22.2 MiB (best Windows built-in (tar) 1.1 MiB)
Extract the tool's own ZIP · canterbury🥇 0.0176 s🥇 0.0156 s6th · 6.7 MiB (best Windows built-in (tar) 1.4 MiB)
Extract the tool's own ZIP · silesia🥇 0.0895 s6th · 0.984 s (best Windows built-in (tar) 0.391 s)8th · 24.3 MiB (best Windows built-in (tar) 1.4 MiB)
Extract the tool's own ZIP · enwik8🥇 0.046 s🥈 0.5 s9th · 18.8 MiB (best Windows built-in (tar) 1.4 MiB)
Extract the tool's own ZIP · linux🥈 20.1 s🥈 22.5 s4th · 26.5 MiB (best Windows built-in (tar) 5.5 MiB)
Extract the tool's own ZIP · binaries🥇 0.207 s6th · 1.92 s (best Windows built-in (tar) 0.781 s)8th · 24.8 MiB (best Windows built-in (tar) 1.5 MiB)
Extract the tool's own ZIP · media🥇 0.137 s5th · 0.281 s (best Windows built-in (tar) 0.203 s)8th · 22.2 MiB (best Windows built-in (tar) 1.4 MiB)
Compress, native format · silesia · fast🥇 0.103 s🥉 1.27 s6th · 158.9 MiB (best pigz 25.1 MiB)6th · 34.6% (best 7-Zip 27.9%)
Compress, native format · silesia · default🥇 0.185 s4th · 2.47 s (best LZ4 0.656 s)🥉 165.5 MiB6th · 31.4% (best 7-Zip 23.4%)
Compress, native format · silesia · max4th · 7.97 s (best pigz 1.76 s)8th · 127 s (best pigz 31.7 s)4th · 1124.5 MiB (best pigz 25.1 MiB)6th · 26.2% (best 7-Zip 23.0%)
Compress, native format · enwik8 · fast🥇 0.0724 s🥉 0.812 s4th · 87.8 MiB (best pigz 25.1 MiB)6th · 40.8% (best 7-Zip 33.4%)
Compress, native format · enwik8 · default🥇 0.112 s4th · 1.53 s (best LZ4 0.391 s)🥉 99.2 MiB6th · 35.9% (best 7-Zip 25.4%)
Compress, native format · enwik8 · max4th · 4.35 s (best pigz 0.613 s)4th · 62.5 s (best LZ4 10.7 s)4th · 738.5 MiB (best pigz 24.9 MiB)6th · 30.6% (best 7-Zip 24.8%)
Compress, native format · linux · fast🥈 0.14 s🥉 1.73 s6th · 149.9 MiB (best pigz 25.1 MiB)6th · 24.9% (best 7-Zip 20.0%)
Compress, native format · linux · default🥈 0.207 s4th · 3 s (best LZ4 0.703 s)🥉 160.9 MiB8th · 22.4% (best 7-Zip 16.0%)
Compress, native format · linux · max4th · 7.73 s (best pigz 1.25 s)7th · 126 s (best pigz 20.6 s)4th · 1117.3 MiB (best pigz 25.1 MiB)6th · 17.5% (best 7-Zip 15.3%)
Decompress, native format · silesia🥇 0.0884 s4th · 0.891 s (best LZ4 0.188 s)🥇 3.8 MiB
Decompress, native format · enwik8🥇 0.0569 s5th · 0.531 s (best LZ4 0.0938 s)🥇 3.6 MiB
Decompress, native format · linux🥇 0.0887 s4th · 0.859 s (best LZ4 0.172 s)🥇 3.8 MiB
Every tool, every benchmark (full main-suite results)

Create a ZIP · canterbury · fast

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.024 s🥇 0.125 s🥈 11.2 MiB32.2%
Info-ZIP zip/unzip🥈 0.138 s🥈 0.141 s🥇 1.4 MiB35.3%
WinRAR🥉 0.168 s🥉 0.25 s🥉 16.2 MiB31.0%
WinZip0.185 s0.703 s218.7 MiB30.6%
7-Zip0.191 s0.312 s268.6 MiB🥇 30.4%
PeaZip0.197 s0.312 s268.9 MiB🥉 30.4%
NanaZip0.271 s0.344 s269.0 MiB🥈 30.4%

Create a ZIP · canterbury · default

ToolSpeed (wall)CPU timePeak memorySize
pzip / punzip🥇 0.0516 s🥇 0.109 s25.0 MiB30.3%
blazezip🥈 0.0743 s🥈 0.469 s🥉 15.0 MiB28.5%
WinRAR🥉 0.225 s0.781 s16.2 MiB29.2%
WinZip0.387 s3.67 s222.6 MiB27.9%
Info-ZIP zip/unzip0.648 s🥉 0.641 s🥇 1.5 MiB29.2%
7-Zip0.938 s1.78 s268.9 MiB🥇 27.3%
PeaZip0.968 s1.83 s269.2 MiB🥉 27.3%
Windows built-in (tar)1.02 s1.02 s🥈 1.9 MiB29.2%
NanaZip1.08 s1.83 s269.4 MiB🥈 27.3%

Create a ZIP · canterbury · max

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.248 s🥈 2.67 s🥉 22.3 MiB28.1%
WinRAR🥈 0.27 s🥇 1.55 s🥈 16.2 MiB28.8%
WinZip🥉 0.696 s9.08 s260.3 MiB27.6%
Info-ZIP zip/unzip2.82 s🥉 2.77 s🥇 1.4 MiB28.7%
PeaZip4.53 s9.62 s273.0 MiB🥉 27.3%
7-Zip4.66 s9.86 s272.7 MiB🥇 27.3%
NanaZip4.75 s10 s273.1 MiB🥈 27.3%

Create a ZIP · silesia · fast

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.21 s🥇 1.56 s🥉 26.6 MiB34.7%
WinZip🥈 0.775 s8.78 s985.8 MiB33.2%
7-Zip🥉 1.05 s5.23 s865.7 MiB🥇 33.1%
PeaZip1.06 s5.17 s866.0 MiB🥉 33.1%
NanaZip1.18 s5.3 s866.3 MiB🥈 33.1%
WinRAR1.66 s🥉 3.52 s🥈 16.2 MiB33.6%
Info-ZIP zip/unzip2.37 s🥈 2.34 s🥇 1.5 MiB36.5%

Create a ZIP · silesia · default

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.461 s🥇 3.53 s30.7 MiB31.9%
pzip / punzip🥈 0.888 s🥈 3.72 s55.2 MiB33.7%
WinRAR🥉 2.2 s9.7 s🥉 16.2 MiB31.9%
WinZip2.56 s42.3 s995.2 MiB31.1%
Windows built-in (tar)5.57 s🥉 5.52 s🥈 1.9 MiB32.2%
Info-ZIP zip/unzip5.81 s5.72 s🥇 1.5 MiB32.2%
PeaZip5.88 s26.5 s867.5 MiB🥉 31.0%
7-Zip5.89 s26.8 s867.2 MiB🥇 31.0%
NanaZip6.19 s27.9 s867.8 MiB🥈 31.0%

Create a ZIP · silesia · max

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 1.3 s🥇 10 s🥉 31.6 MiB31.6%
WinRAR🥈 2.24 s🥈 11.1 s🥈 16.2 MiB31.8%
WinZip🥉 6.83 s120 s1276.2 MiB30.7%
Info-ZIP zip/unzip13.8 s🥉 13.6 s🥇 1.5 MiB31.9%
7-Zip37.9 s172 s882.2 MiB🥇 30.5%
PeaZip38.2 s174 s882.6 MiB🥉 30.5%
NanaZip39.4 s181 s882.9 MiB🥈 30.5%

Create a ZIP · enwik8 · fast

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.132 s🥇 0.922 s🥉 24.6 MiB39.2%
WinZip🥈 0.498 s5.02 s352.4 MiB37.9%
WinRAR🥉 0.917 s2.09 s🥈 16.2 MiB38.2%
Info-ZIP zip/unzip1.24 s🥈 1.23 s🥇 1.4 MiB42.3%
PeaZip2.03 s🥉 2 s136.1 MiB🥉 37.9%
7-Zip2.04 s2.03 s135.9 MiB🥇 37.9%
NanaZip2.22 s2.11 s136.3 MiB🥈 37.9%

Create a ZIP · enwik8 · default

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.304 s🥈 2.22 s28.2 MiB36.7%
WinRAR🥈 1.22 s4.83 s🥉 16.2 MiB36.3%
WinZip🥉 1.39 s21.8 s354.9 MiB35.2%
pzip / punzip1.5 s🥇 1.44 s19.9 MiB37.8%
Info-ZIP zip/unzip3.58 s🥉 3.55 s🥇 1.4 MiB36.5%
Windows built-in (tar)3.75 s3.7 s🥈 1.9 MiB36.5%
7-Zip9.5 s9.36 s136.0 MiB🥇 35.2%
PeaZip9.52 s9.42 s136.3 MiB🥉 35.2%
NanaZip9.88 s9.59 s136.4 MiB🥈 35.2%

Create a ZIP · enwik8 · max

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.528 s🥇 4.06 s🥉 28.2 MiB36.3%
WinRAR🥈 1.25 s🥉 5.77 s🥈 16.2 MiB36.2%
WinZip🥉 3.53 s60.4 s380.0 MiB35.1%
Info-ZIP zip/unzip4.54 s🥈 4.48 s🥇 1.4 MiB36.4%
7-Zip58 s57.2 s137.3 MiB🥇 35.1%
PeaZip58 s57.3 s137.5 MiB🥉 35.1%
NanaZip59.4 s58.3 s137.7 MiB🥈 35.1%

Create a ZIP · linux · fast

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.507 s🥇 3.69 s🥉 37.6 MiB32.4%
7-Zip🥈 1.27 s🥈 7.11 s1352.4 MiB🥇 31.0%
PeaZip🥉 1.28 s🥉 7.22 s1352.7 MiB🥉 31.0%
NanaZip1.48 s7.5 s1352.4 MiB🥈 31.0%
WinRAR6.53 s8.61 s🥈 27.8 MiB31.6%
Info-ZIP zip/unzip7.48 s7.42 s🥇 25.0 MiB35.8%

Create a ZIP · linux · default

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.692 s🥇 5.28 s42.6 MiB30.1%
pzip / punzip🥈 1.11 s🥉 8.52 s290.0 MiB31.1%
7-Zip🥉 2.44 s33.7 s1354.8 MiB🥇 29.5%
PeaZip2.45 s34.1 s1355.3 MiB🥉 29.5%
NanaZip2.62 s34.5 s1354.9 MiB🥈 29.5%
Windows built-in (tar)5.89 s🥈 5.83 s🥇 4.6 MiB30.5%
Info-ZIP zip/unzip9.39 s9.33 s🥈 25.1 MiB31.3%
WinRAR9.44 s15.5 s🥉 27.8 MiB29.9%

Create a ZIP · linux · max

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 1.28 s🥇 9.61 s🥉 49.7 MiB29.9%
PeaZip🥈 11.1 s202 s1380.2 MiB🥉 29.1%
7-Zip🥉 11.2 s205 s1379.9 MiB🥇 29.1%
NanaZip12.2 s223 s1379.4 MiB🥈 29.1%
Info-ZIP zip/unzip12.6 s🥈 12.4 s🥇 25.0 MiB31.2%
WinRAR16.7 s🥉 22.7 s🥈 27.9 MiB29.8%

Create a ZIP · binaries · fast

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.544 s🥇 4.08 s🥉 34.0 MiB33.4%
WinZip🥈 1.47 s14.4 s1512.6 MiB31.8%
7-Zip🥉 3.02 s7.98 s1332.4 MiB🥇 31.6%
PeaZip3.04 s8.11 s1332.8 MiB🥉 31.6%
NanaZip3.26 s8.36 s1333.2 MiB🥈 31.6%
WinRAR3.38 s🥉 7.77 s🥈 16.2 MiB32.0%
Info-ZIP zip/unzip4.75 s🥈 4.67 s🥇 1.5 MiB34.9%

Create a ZIP · binaries · default

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.998 s🥈 7.67 s36.5 MiB30.7%
pzip / punzip🥈 2.72 s🥇 6.44 s108.0 MiB32.7%
WinRAR🥉 4.3 s19.9 s🥉 16.2 MiB30.6%
WinZip4.38 s69.4 s1584.5 MiB30.1%
Windows built-in (tar)9.75 s🥉 9.66 s🥈 1.9 MiB30.8%
Info-ZIP zip/unzip11.5 s11.3 s🥇 1.6 MiB30.8%
7-Zip15.4 s42.9 s1334.8 MiB🥇 29.9%
PeaZip15.8 s43.2 s1335.2 MiB🥉 29.9%
NanaZip16 s44.1 s1335.7 MiB🥈 29.9%

Create a ZIP · binaries · max

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 2.54 s🥇 19.1 s🥉 37.1 MiB30.5%
WinRAR🥈 5.16 s🥈 24.2 s🥈 16.2 MiB30.6%
WinZip🥉 10.8 s186 s1901.6 MiB29.8%
Info-ZIP zip/unzip34.9 s🥉 34.6 s🥇 1.5 MiB30.7%
PeaZip96.2 s267 s1360.3 MiB🥉 29.5%
NanaZip101 s287 s1360.7 MiB🥈 29.5%
7-Zip101 s272 s1359.9 MiB🥇 29.5%

Create a ZIP · media · fast

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.187 s🥇 0.453 s🥈 9.6 MiB🥇 100.0%
7-Zip🥈 0.883 s12.5 s1334.9 MiB🥈 100.0%
PeaZip🥉 0.89 s12.7 s1335.3 MiB100.0%
NanaZip1.02 s13.6 s1335.7 MiB🥉 100.0%
WinZip1.57 s17.5 s1991.6 MiB100.0%
WinRAR2.59 s🥉 9 s🥉 16.2 MiB100.0%
Info-ZIP zip/unzip6.42 s🥈 6.3 s🥇 1.5 MiB100.0%

Create a ZIP · media · default

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.179 s🥇 0.359 s🥉 9.8 MiB🥇 100.0%
pzip / punzip🥈 0.341 s🥈 0.875 s101.2 MiB100.0%
7-Zip🥉 1.07 s15.6 s1337.4 MiB🥈 100.0%
PeaZip1.15 s16.7 s1337.8 MiB100.0%
NanaZip1.26 s17.1 s1338.2 MiB🥉 100.0%
WinZip1.88 s21.4 s2067.8 MiB100.0%
WinRAR3.47 s19.4 s16.2 MiB100.0%
Info-ZIP zip/unzip6.57 s🥉 6.5 s🥇 1.5 MiB100.0%
Windows built-in (tar)6.94 s6.81 s🥈 1.9 MiB100.0%

Create a ZIP · media · max

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.18 s🥇 0.391 s🥈 9.7 MiB🥇 100.0%
WinZip🥈 3.16 s45.8 s2821.8 MiB100.0%
WinRAR🥉 3.46 s🥉 20.2 s🥉 16.2 MiB100.0%
Info-ZIP zip/unzip6.59 s🥈 6.52 s🥇 1.5 MiB100.0%
7-Zip10.8 s170 s1362.4 MiB🥈 100.0%
PeaZip11.7 s183 s1362.8 MiB100.0%
NanaZip12.9 s201 s1363.2 MiB🥉 100.0%

Extract a ZIP · canterbury

ToolSpeed (wall)CPU timePeak memory
blazezip🥇 0.019 s🥈 0.0312 s11.4 MiB
Windows built-in (tar)🥈 0.0306 s🥇 0.0156 s🥇 1.4 MiB
pzip / punzip🥉 0.0323 s0.0781 s13.3 MiB
7-Zip0.0601 s🥉 0.0469 s🥈 2.4 MiB
PeaZip0.064 s0.0625 s🥉 2.7 MiB
Info-ZIP zip/unzip0.0847 s0.0781 s6.7 MiB
NanaZip0.0997 s0.0469 s2.8 MiB
WinRAR0.129 s0.125 s8.2 MiB
WinZip0.146 s0.0781 s36.6 MiB

Extract a ZIP · silesia

ToolSpeed (wall)CPU timePeak memory
blazezip🥇 0.14 s🥈 0.516 s20.4 MiB
Windows built-in (tar)🥈 0.422 s🥇 0.406 s🥇 1.4 MiB
pzip / punzip🥉 0.439 s1.69 s16.7 MiB
WinZip0.817 s1.34 s127.5 MiB
PeaZip0.93 s0.922 s🥉 2.7 MiB
7-Zip0.935 s0.906 s🥈 2.5 MiB
WinRAR0.938 s0.938 s8.2 MiB
NanaZip0.97 s🥉 0.844 s2.8 MiB
Info-ZIP zip/unzip1.25 s1.23 s6.7 MiB

Extract a ZIP · enwik8

ToolSpeed (wall)CPU timePeak memory
blazezip🥇 0.198 s🥇 0.188 s🥇 0.9 MiB
Windows built-in (tar)🥈 0.225 s🥈 0.219 s🥈 1.4 MiB
7-Zip🥉 0.512 s🥉 0.5 s🥉 2.4 MiB
PeaZip0.518 s0.516 s2.7 MiB
pzip / punzip0.543 s0.547 s12.6 MiB
WinRAR0.551 s0.531 s8.2 MiB
NanaZip0.574 s0.5 s2.8 MiB
WinZip0.61 s0.609 s16.2 MiB
Info-ZIP zip/unzip0.658 s0.656 s6.7 MiB

Extract a ZIP · linux

ToolSpeed (wall)CPU timePeak memory
Windows built-in (tar)🥇 7.93 s🥇 7.5 s🥇 5.5 MiB
blazezip🥈 20.6 s🥈 22.1 s26.5 MiB
pzip / punzip🥉 22.4 s30.7 s39.1 MiB
Info-ZIP zip/unzip23.6 s🥉 22.7 s🥈 7.7 MiB
WinRAR25.6 s23.8 s🥉 8.2 MiB

Extract a ZIP · binaries

ToolSpeed (wall)CPU timePeak memory
blazezip🥇 0.62 s🥈 1.23 s19.6 MiB
Windows built-in (tar)🥈 0.843 s🥇 0.797 s🥇 1.5 MiB
pzip / punzip🥉 1.21 s2.88 s22.6 MiB
WinZip1.67 s3.53 s410.8 MiB
7-Zip1.74 s1.7 s🥈 2.5 MiB
NanaZip1.75 s🥉 1.64 s2.8 MiB
PeaZip1.8 s1.77 s🥉 2.8 MiB
WinRAR1.82 s1.77 s8.2 MiB
Info-ZIP zip/unzip2.54 s2.48 s6.7 MiB

Extract a ZIP · media

ToolSpeed (wall)CPU timePeak memory
blazezip🥇 0.125 s0.281 s22.2 MiB
Windows built-in (tar)🥈 0.206 s🥇 0.188 s🥇 1.1 MiB
pzip / punzip🥉 0.219 s0.469 s17.5 MiB
7-Zip0.236 s🥈 0.234 s🥈 1.5 MiB
PeaZip0.245 s0.234 s🥉 1.8 MiB
NanaZip0.285 s🥉 0.234 s1.9 MiB
WinRAR1.06 s1.03 s8.2 MiB
WinZip1.2 s1.56 s167.2 MiB
Info-ZIP zip/unzip1.34 s1.3 s6.7 MiB

Extract the tool's own ZIP · canterbury

ToolSpeed (wall)CPU timePeak memory
blazezip🥇 0.0176 s🥇 0.0156 s6.7 MiB
Windows built-in (tar)🥈 0.0339 s🥈 0.0312 s🥇 1.4 MiB
pzip / punzip🥉 0.0353 s0.0781 s13.3 MiB
7-Zip0.0627 s🥉 0.0469 s🥈 2.4 MiB
PeaZip0.0627 s0.0469 s🥉 2.7 MiB
Info-ZIP zip/unzip0.0846 s0.0781 s6.7 MiB
NanaZip0.104 s0.0625 s2.8 MiB
WinRAR0.139 s0.141 s8.2 MiB
WinZip0.146 s0.0938 s36.7 MiB

Extract the tool's own ZIP · silesia

ToolSpeed (wall)CPU timePeak memory
blazezip🥇 0.0895 s0.984 s24.3 MiB
Windows built-in (tar)🥈 0.416 s🥇 0.391 s🥇 1.4 MiB
pzip / punzip🥉 0.437 s1.64 s17.2 MiB
WinZip0.821 s1.34 s127.3 MiB
7-Zip0.912 s🥉 0.906 s🥈 2.5 MiB
WinRAR0.934 s0.906 s8.2 MiB
PeaZip0.939 s0.906 s🥉 2.7 MiB
NanaZip0.946 s🥈 0.844 s2.8 MiB
Info-ZIP zip/unzip1.21 s1.2 s6.7 MiB

Extract the tool's own ZIP · enwik8

ToolSpeed (wall)CPU timePeak memory
blazezip🥇 0.046 s🥈 0.5 s18.8 MiB
Windows built-in (tar)🥈 0.239 s🥇 0.234 s🥇 1.4 MiB
PeaZip🥉 0.516 s0.5 s🥉 2.7 MiB
7-Zip0.521 s🥉 0.5 s🥈 2.4 MiB
NanaZip0.575 s0.5 s2.8 MiB
WinRAR0.576 s0.562 s8.2 MiB
pzip / punzip0.588 s0.578 s12.7 MiB
WinZip0.603 s0.609 s16.2 MiB
Info-ZIP zip/unzip0.663 s0.672 s6.7 MiB

Extract the tool's own ZIP · linux

ToolSpeed (wall)CPU timePeak memory
Windows built-in (tar)🥇 8.14 s🥇 7.7 s🥇 5.5 MiB
blazezip🥈 20.1 s🥈 22.5 s26.5 MiB
pzip / punzip🥉 22.8 s30.8 s37.6 MiB
Info-ZIP zip/unzip24.1 s🥉 23.2 s🥈 7.7 MiB
WinRAR25.8 s23.7 s🥉 8.2 MiB

Extract the tool's own ZIP · binaries

ToolSpeed (wall)CPU timePeak memory
blazezip🥇 0.207 s1.92 s24.8 MiB
Windows built-in (tar)🥈 0.805 s🥇 0.781 s🥇 1.5 MiB
pzip / punzip🥉 1.22 s2.91 s22.7 MiB
WinZip1.66 s3.53 s410.8 MiB
7-Zip1.76 s🥉 1.69 s🥈 2.5 MiB
NanaZip1.76 s🥈 1.66 s2.8 MiB
WinRAR1.81 s1.73 s8.2 MiB
PeaZip1.81 s1.78 s🥉 2.8 MiB
Info-ZIP zip/unzip2.48 s2.45 s6.7 MiB

Extract the tool's own ZIP · media

ToolSpeed (wall)CPU timePeak memory
blazezip🥇 0.137 s0.281 s22.2 MiB
Windows built-in (tar)🥈 0.224 s🥇 0.203 s🥇 1.4 MiB
7-Zip🥉 0.244 s🥈 0.234 s🥈 1.5 MiB
pzip / punzip0.254 s0.609 s20.0 MiB
PeaZip0.255 s0.25 s🥉 1.8 MiB
NanaZip0.287 s🥉 0.234 s1.9 MiB
WinZip0.977 s2.25 s328.4 MiB
WinRAR1.09 s1.05 s8.2 MiB
Info-ZIP zip/unzip1.27 s1.25 s6.7 MiB

Compress, native format · silesia · fast

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.103 s🥉 1.27 s158.9 MiB34.6%
zstd🥈 0.128 s🥈 1.08 s🥉 79.1 MiB34.6%
LZ4🥉 0.234 s🥇 0.594 s🥈 53.4 MiB51.5%
pigz0.367 s4.8 s🥇 25.1 MiB36.4%
PeaZip1.14 s18.2 s98.3 MiB🥉 27.9%
7-Zip1.18 s18.3 s97.9 MiB🥇 27.9%
NanaZip1.25 s20.4 s247.9 MiB🥈 27.9%
WinRAR1.3 s11.8 s305.3 MiB31.5%

Compress, native format · silesia · default

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.185 s2.47 s🥉 165.5 MiB31.4%
zstd🥈 0.214 s🥈 1.61 s295.5 MiB31.2%
LZ4🥉 0.231 s🥇 0.656 s🥈 53.4 MiB47.6%
pigz0.822 s14.4 s🥇 25.3 MiB32.2%
LZFSE2.37 s🥉 2.33 s506.5 MiB31.9%
WinRAR3.74 s44.5 s305.4 MiB25.6%
NanaZip24.5 s63.3 s1167.5 MiB🥈 23.4%
7-Zip24.5 s64 s1167.0 MiB🥇 23.4%
PeaZip24.6 s64.2 s1167.3 MiB🥉 23.4%

Compress, native format · silesia · max

ToolSpeed (wall)CPU timePeak memorySize
pigz🥇 1.76 s🥇 31.7 s🥇 25.1 MiB31.9%
LZ4🥈 2.46 s🥈 33.2 s🥈 219.4 MiB36.5%
WinRAR🥉 5.56 s70.4 s🥉 574.9 MiB25.1%
blazezip7.97 s127 s1124.5 MiB26.2%
zstd22.4 s114 s1345.2 MiB24.9%
PeaZip47.1 s68 s2189.9 MiB🥉 23.0%
NanaZip47.2 s🥉 67.7 s2190.0 MiB🥈 23.0%
7-Zip47.3 s68.6 s2189.6 MiB🥇 23.0%

Compress, native format · enwik8 · fast

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.0724 s🥉 0.812 s87.8 MiB40.8%
zstd🥈 0.0846 s🥈 0.703 s🥉 77.1 MiB40.7%
LZ4🥉 0.136 s🥇 0.344 s🥈 53.4 MiB66.5%
pigz0.177 s2.52 s🥇 25.1 MiB42.3%
7-Zip0.695 s11.7 s97.9 MiB🥇 33.4%
PeaZip0.698 s11.7 s98.3 MiB🥉 33.4%
WinRAR0.716 s6.47 s304.8 MiB35.3%
NanaZip0.793 s12.5 s171.2 MiB🥈 33.4%

Compress, native format · enwik8 · default

ToolSpeed (wall)CPU timePeak memorySize
blazezip🥇 0.112 s1.53 s🥉 99.2 MiB35.9%
zstd🥈 0.15 s🥈 1.12 s252.8 MiB35.4%
LZ4🥉 0.295 s🥇 0.391 s🥈 57.4 MiB57.3%
pigz0.517 s8.67 s🥇 25.1 MiB36.6%
LZFSE1.42 s🥉 1.41 s287.9 MiB36.2%
WinRAR2.94 s41.1 s305.6 MiB28.6%
7-Zip48 s60.8 s377.8 MiB🥇 25.4%
NanaZip48 s59.9 s378.2 MiB🥈 25.4%
PeaZip48.1 s60.5 s378.1 MiB🥉 25.4%

Compress, native format · enwik8 · max

ToolSpeed (wall)CPU timePeak memorySize
pigz🥇 0.613 s🥈 11 s🥇 24.9 MiB36.5%
LZ4🥈 0.917 s🥇 10.7 s🥈 155.3 MiB42.0%
WinRAR🥉 3.58 s🥉 50.8 s🥉 574.7 MiB27.4%
blazezip4.35 s62.5 s738.5 MiB30.6%
zstd23.7 s66.7 s890.8 MiB26.9%
7-Zip54 s68.1 s1045.0 MiB🥇 24.8%
PeaZip54.4 s68.2 s1045.3 MiB🥉 24.8%
NanaZip54.6 s68.5 s1045.4 MiB🥈 24.8%

Compress, native format · linux · fast

ToolSpeed (wall)CPU timePeak memorySize
zstd🥇 0.123 s🥈 1.14 s🥉 77.1 MiB24.9%
blazezip🥈 0.14 s🥉 1.73 s149.9 MiB24.9%
LZ4🥉 0.225 s🥇 0.672 s🥈 53.4 MiB40.8%
pigz0.348 s3.86 s🥇 25.1 MiB27.6%
PeaZip0.856 s14.8 s98.3 MiB🥉 20.0%
7-Zip0.867 s14.7 s97.9 MiB🥇 20.0%
NanaZip0.973 s15.7 s213.4 MiB🥈 20.0%
WinRAR1.2 s11.8 s305.7 MiB21.9%

Compress, native format · linux · default

ToolSpeed (wall)CPU timePeak memorySize
zstd🥇 0.188 s🥈 1.64 s287.5 MiB22.2%
blazezip🥈 0.207 s3 s🥉 160.9 MiB22.4%
LZ4🥉 0.214 s🥇 0.703 s🥈 53.4 MiB35.9%
pigz0.686 s11.7 s🥇 25.1 MiB22.3%
LZFSE2.31 s🥉 2.25 s515.7 MiB22.1%
WinRAR3.89 s49.6 s305.3 MiB17.5%
NanaZip34.7 s77.9 s1167.5 MiB🥈 16.0%
PeaZip35.6 s80.2 s1167.3 MiB🥉 16.0%
7-Zip35.7 s80.2 s1167.0 MiB🥇 16.0%

Compress, native format · linux · max

ToolSpeed (wall)CPU timePeak memorySize
pigz🥇 1.25 s🥇 20.6 s🥇 25.1 MiB22.1%
LZ4🥈 1.57 s🥈 23.2 s🥈 195.0 MiB25.9%
WinRAR🥉 5.55 s🥉 71.4 s🥉 574.7 MiB17.0%
blazezip7.73 s126 s1117.3 MiB17.5%
zstd21 s126 s1345.2 MiB16.4%
7-Zip75 s98.6 s2233.1 MiB🥇 15.3%
PeaZip75.1 s98.3 s2233.4 MiB🥉 15.3%
NanaZip75.4 s98.1 s2233.6 MiB🥈 15.3%

Decompress, native format · silesia

ToolSpeed (wall)CPU timePeak memory
blazezip🥇 0.0884 s0.891 s🥇 3.8 MiB
zstd🥈 0.222 s🥈 0.281 s🥉 7.0 MiB
LZ4🥉 0.31 s🥇 0.188 s36.9 MiB
LZFSE0.497 s🥉 0.406 s388.4 MiB
WinRAR0.622 s1.23 s46.5 MiB
pigz0.74 s1.02 s🥈 6.1 MiB
PeaZip1.11 s1.78 s253.0 MiB
7-Zip1.14 s1.81 s252.7 MiB
NanaZip1.18 s1.78 s253.7 MiB

Decompress, native format · enwik8

ToolSpeed (wall)CPU timePeak memory
blazezip🥇 0.0569 s0.531 s🥇 3.6 MiB
LZFSE🥈 0.262 s🥉 0.219 s207.9 MiB
zstd🥉 0.274 s🥈 0.172 s🥉 7.0 MiB
LZ40.291 s🥇 0.0938 s36.9 MiB
WinRAR0.325 s0.547 s46.2 MiB
pigz0.437 s0.516 s🥈 6.1 MiB
PeaZip0.803 s0.781 s121.8 MiB
7-Zip0.823 s0.812 s121.6 MiB
NanaZip0.866 s0.766 s122.2 MiB

Decompress, native format · linux

ToolSpeed (wall)CPU timePeak memory
blazezip🥇 0.0887 s0.859 s🥇 3.8 MiB
zstd🥈 0.207 s🥈 0.281 s🥉 7.0 MiB
LZ4🥉 0.296 s🥇 0.172 s36.9 MiB
WinRAR0.483 s0.953 s46.2 MiB
pigz0.625 s0.906 s🥈 6.1 MiB
LZFSE0.738 s🥉 0.625 s642.1 MiB
PeaZip0.824 s1.25 s242.8 MiB
7-Zip0.841 s1.3 s242.6 MiB
NanaZip0.887 s1.23 s243.4 MiB

Charts

blazezip is highlighted in orange.

Speed versus size

Create a ZIP (default level): wall time

Extract a ZIP: wall time

Compress in each tool's native format (default level): wall time

Decompress native format: wall time

Create a ZIP (default level): peak memory

Extended suite

The extended suite covers behaviour as well as speed: scaling, start-up time, very large and very many files, Unicode and legacy names, metadata, corrupt and hostile archives, locked files, interruption, memory caps and more. Each (test, metric) pair awards medals; ties share a place.

#Tool🥇🥈🥉Total
1blazezip5514877
27-Zip36101561
3Windows built-in (tar)35211066
4PeaZip3561253
5NanaZip349952
6Bandizip30112061
7Info-ZIP zip/unzip2912546
8WinZip245332
9WinRAR2371343
10pzip / punzip2217746
11LZFSE0011

blazezip places first in 55 of the 125 ranked metrics it takes part in.

Every extended-suite metric, with blazezip's place
TestMetricblazezipPlaceBest other tool
M031-CPU create silesia: wall2.612 s🥈pzip / punzip 2.533 s
M041-CPU extract silesia: wall0.4134 s🥇Windows built-in (tar) 0.4379 s
M05create silesia at 1 CPUs: wall2.474 s🥈pzip / punzip 2.448 s
M05create silesia at 2 CPUs: wall1.275 s🥇pzip / punzip 1.494 s
M05create silesia at 20 CPUs: wall0.5145 s🥇pzip / punzip 0.9103 s
M05create silesia at 4 CPUs: wall0.8335 s🥇pzip / punzip 0.9692 s
M05create silesia at 8 CPUs: wall0.5834 s🥇pzip / punzip 0.8923 s
M05speed-up 20 CPUs vs 14.808 x6thBandizip 24.56 x
M06time to first output byte0.5024 s5thWindows built-in (tar) 0.02208 s
M09create silesia under full CPU load: wall0.9388 s🥇Bandizip 1.27 s
M11100k x 1 KiB create: CPU11.7 s🥇WinRAR 12.17 s
M11100k x 1 KiB create: peak memory67.41 MiB4thWindows built-in (tar) 10.37 MiB
M11100k x 1 KiB create: wall1.576 s🥇pzip / punzip 4.303 s
M11100k x 1 KiB extract own: CPU118.7 s4th7-Zip 54.42 s
M11100k x 1 KiB extract own: wall107.5 s4th7-Zip 57.08 s
M124.6 GiB file create: peak memory30.58 MiB6thInfo-ZIP zip/unzip 1.457 MiB
M124.6 GiB file create: wall17.98 s🥇Bandizip 22.43 s
M124.6 GiB file extract own: wall3.077 s🥇Windows built-in (tar) 13.73 s
M13paths > 260 chars: round-trip intact1🥇pzip / punzip 1
M14Unicode names: round-trip intact1🥇pzip / punzip 1
M15zeros + sparse 2 GiB create: CPU6.75 s🥈pzip / punzip 1.359 s
M15zeros + sparse 2 GiB create: peak memory30.4 MiB6thInfo-ZIP zip/unzip 1.449 MiB
M15zeros + sparse 2 GiB create: size0.1029 %4thInfo-ZIP zip/unzip 0.09708 %
M15zeros + sparse 2 GiB create: wall0.8825 s🥈pzip / punzip 0.7071 s
M15zeros + sparse 2 GiB extract own: CPU6.578 s7thWindows built-in (tar) 1 s
M15zeros + sparse 2 GiB extract own: wall0.7565 s🥇Windows built-in (tar) 1.092 s
M16mixed tree create: CPU12.16 s🥇pzip / punzip 13.84 s
M16mixed tree create: peak memory65.94 MiB5thWindows built-in (tar) 2.316 MiB
M16mixed tree create: size38.62 %6th7-Zip 37.85 %
M16mixed tree create: wall1.575 s🥇Bandizip 2.928 s
M16mixed tree extract own: CPU7.094 s7thWindows built-in (tar) 2.297 s
M16mixed tree extract own: wall3.23 s🥈Windows built-in (tar) 2.425 s
M17media (incompressible) default: size100 %🥇7-Zip 100 %
M17media (incompressible) default: wall0.1596 s🥇pzip / punzip 0.3424 s
M18add 1 MiB file to silesia archive: wall0.09455 s🥇Bandizip 0.1073 s
M19delete 1 entry from silesia archive: wall0.08995 s🥉7-Zip 0.06934 s
M20extract 1 file from 23k-entry zip: wall0.02129 s🥇Info-ZIP zip/unzip 0.03078 s
M21list 100k-entry zip: wall0.06105 s🥇Info-ZIP zip/unzip 0.1573 s
M22test silesia zip: CPU0.5625 s🥈Windows built-in (tar) 0.3906 s
M22test silesia zip: wall0.1818 s🥇Bandizip 0.2877 s
M23peak working set (all processes)27.96 MiB4thWindows built-in (tar) 6.238 MiB
M24bytes read205.1 MiB9th7-Zip 202.1 MiB
M25bytes written64.53 MiB6th7-Zip 62.6 MiB
M27peak handles61🥇Info-ZIP zip/unzip 82
M27peak threads10🥉Info-ZIP zip/unzip 4
M29page faults84354thInfo-ZIP zip/unzip 1847
M30create 1-file archive: wall0.01785 s4thpzip / punzip 0.01247 s
M30extract 1-file archive: wall0.01563 s4thpzip / punzip 0.01167 s
M31share of rival points beaten on both size and time68.15 %🥇7-Zip 53.85 %
M32media: fastest wall within 1% of 7-Zip default size0.1718 s🥇pzip / punzip 0.3424 s
M33MiB saved per CPU-second (median)20.42 MiB/s🥈pzip / punzip 34.2 MiB/s
M347-Zip 1-CPU decode of its silesia zip: CPU1.094 s10thPeaZip 0.9219 s
M35bytes per entry (10k empty files)158.2 B🥉WinZip 104.1 B
M36identical output on repeat1🥇pzip / punzip 1
M37identical output on 1 CPU vs all1🥇7-Zip 1
M38readers passing (of 10)85thpzip / punzip 9
M39metadata checks passed (of 6)6🥇7-Zip 6
M41UTF-8 names flagged1🥇pzip / punzip 1
M42locked input handling (0-2)2🥇7-Zip 2
M43corruptions detected100 %🥇pzip / punzip 100 %
M44files recovered from half an archive70.1 %🥇7-Zip 70.1 %
M45zip-slip entries blocked (of 4)4🥇7-Zip 4
M481M entries create: peak memory619.1 MiB4thWindows built-in (tar) 90.11 MiB
M481M entries create: wall1.252 s🥇Windows built-in (tar) 56.21 s
M49Ctrl-C: stops (1) and cleans up (2)2🥇7-Zip 2
M50run-to-run variation (median CV)6.909 %10thPeaZip 2.831 %
M51reserved-name entries recovered (of 7)58thBandizip 7
M52junction loop handled (0-2)2🥇Bandizip 2
M53links handled (of 2)19th7-Zip 2
M54Mark of the Web passed on (% of files)0 %5thNanaZip 100 %
M56overwrite a read-only file (0-2)2🥇7-Zip 2
M58growing file: valid archive (1) + change reported (1)16th7-Zip 2
M59folder times kept (of 2)08th7-Zip 2
M60unusual dates kept (of 3)3🥇7-Zip 3
M61legacy-encoded names read correctly (of 3)1🥇7-Zip 1
M62macOS resource-fork clutter skipped0🥈Bandizip 1
M63Unix archive: files (1) + symlink as link or copy (1)1🥈Info-ZIP zip/unzip 2
M64compression methods extracted (of 6)19th7-Zip 6
M65NFC/NFD names both kept1🥇pzip / punzip 1
M66comments kept through add and delete (of 2)07th7-Zip 2
M67overlapping zip bomb blocked06th7-Zip 1
M68size larger than declared: stopped or reported1🥇pzip / punzip 1
M71create 1,000 files, Defender-scanned folder: wall0.0516 s🥇pzip / punzip 0.09632 s
M71extract 1,000 files, Defender-scanned folder: wall0.5722 s🥈Windows built-in (tar) 0.428 s
M72timer lateness p99 while creating silesia0.7112 ms🥈pzip / punzip 0.638 ms
M73two creates at once: wall until both finish0.7885 s🥇pzip / punzip 1.162 s
M74completes within a 256 MiB memory cap1🥇pzip / punzip 1
M74max-preset create under a 256 MiB cap: wall1.514 s🥈pzip / punzip 0.845 s
M75extract over existing files: wall2.107 s9thpzip / punzip 0.4202 s
M77timer lateness p99 while extracting linux122.2 ms10thWindows built-in (tar) 0.661 ms
M78speed/size curve area (log time x % saved)111.76thBandizip 141.6
M79smallest archive within 1 s31.76 %🥇Bandizip 32.2 %
M79smallest archive within 10 s30.61 %🥇WinZip 30.74 %
M79smallest archive within 3 s31.56 %🥈WinZip 31.11 %
M80JSON logs 256 MiB create: CPU4.609 s4thpzip / punzip 2.953 s
M80JSON logs 256 MiB create: peak memory30.55 MiB5thInfo-ZIP zip/unzip 1.465 MiB
M80JSON logs 256 MiB create: size13.91 %4th7-Zip 13.73 %
M80JSON logs 256 MiB create: wall0.6296 s🥉pzip / punzip 0.2299 s
M80JSON logs 256 MiB extract own: CPU0.8281 s6thWindows built-in (tar) 0.3594 s
M80JSON logs 256 MiB extract own: wall0.1113 s🥇pzip / punzip 0.2536 s
M81SQLite 128 MiB create: CPU3.828 s🥉pzip / punzip 2.031 s
M81SQLite 128 MiB create: peak memory30.18 MiB6thInfo-ZIP zip/unzip 1.453 MiB
M81SQLite 128 MiB create: size39.27 %6th7-Zip 37.86 %
M81SQLite 128 MiB create: wall0.5051 s🥈Bandizip 0.4184 s
M81SQLite 128 MiB extract own: CPU0.7031 s🥉Windows built-in (tar) 0.2969 s
M81SQLite 128 MiB extract own: wall0.08014 s🥇Windows built-in (tar) 0.3154 s
M82git checkout + .git create: CPU0.8906 s🥇pzip / punzip 1.031 s
M82git checkout + .git create: peak memory32.08 MiB5thWindows built-in (tar) 2.32 MiB
M82git checkout + .git create: size49.21 %7thWinZip 24.04 %
M82git checkout + .git create: wall0.1093 s🥇pzip / punzip 0.2423 s
M82git checkout + .git extract own: CPU4.266 s8thWindows built-in (tar) 1.203 s
M82git checkout + .git extract own: wall2.95 s7thWindows built-in (tar) 1.26 s
M83docx + pdf create: CPU0.1875 s🥇Bandizip 0.2344 s
M83docx + pdf create: peak memory11.77 MiB4thWindows built-in (tar) 1.582 MiB
M83docx + pdf create: size102.4 %7thWinZip 101.1 %
M83docx + pdf create: wall0.04239 s🥇pzip / punzip 0.07347 s
M83docx + pdf extract own: CPU1.156 s9thWindows built-in (tar) 0.2656 s
M83docx + pdf extract own: wall0.6347 s7thWindows built-in (tar) 0.2929 s
M84add 1 file to a 100k-entry zip: wall0.1388 s🥇Info-ZIP zip/unzip 0.5855 s
M85update 10 changed of 1,000 files: wall0.1074 s🥉PeaZip 0.07466 s
M86list a 1M-entry zip: wall0.4937 s🥇Info-ZIP zip/unzip 1.782 s
M87extract the last entry of a 1M-entry zip: wall0.2014 s🥇Info-ZIP zip/unzip 0.7003 s
M88list a 1M-entry zip: peak memory171.5 MiB🥉Info-ZIP zip/unzip 6.695 MiB
M89files recovered with a damaged end record100 %🥇7-Zip 100 %
M90command-line tool size1.297 MiB6thNanaZip 0 MiB

Corpora and tool versions

CorpusFilesSizeDescription
canterbury311 MBCanterbury large corpus (3 files, 11 MB) — small-archive latency
silesia12212 MBSilesia corpus — the standard compression benchmark (12 mixed files, 211 MB)
enwik81100 MBenwik8 Wikipedia dump (1 file, 100 MB) — single large file
linux22,336200 MBLinux 6.6 source subset — tens of thousands of small source files
binaries55417 MBWindows executables & DLLs (Rust toolchain) — a typical program folder
media32336 MBIncompressible media-like data (32 files, 320 MB)
ToolVersionNative format
blazezip0.1.0 (this repo)zip + Zstandard
7-Zip7-Zip 26.04 (x64)7z (LZMA2)
NanaZipNanaZip 7.0 , version 2609.2 (x64)7z (LZMA2)
PeaZip7-Zip 26.02 (x64)7z (LZMA2)
Bandizipbz 7.47(Beta,x64) - Bandizip console too–
WinRAR7.23.0RAR5
WinZipVersion 6.0 64-bit (Build 14567)–
Info-ZIP zip/unzip––
Windows built-in (tar)bsdtar 3.8.8 - libarchive 3.8.8 zlib/1.2–
zstdZstandard CLI (64-bit) v1.5.7Zstandard
pigzpigz 2.8gzip
LZ4lz4 v1.10.0 64-bit multithreadLZ4 frame
LZFSE–LZFSE
pzip / punzipallow up to n compression routines (defa–

Benchmarks

python bench/bench.py                 # everything: all corpora, 10 runs per test
python bench/bench.py --quick         # fewer corpora, still 10 runs per test
python bench/bench.py --corpora silesia,linux --tools blazezip,7zip
python bench/bench.py --reps 10 --keep-best 5         # busy machine: drop the 5 slowest runs
python bench/bench.py --resume results/<run>          # continue an interrupted run
python bench/bench.py --report                        # rebuild results/latest-report.html

Each run writes results/<timestamp>/results.json and report.html, and copies the latest report to results/latest-report.html.

What is measured. Every command runs under benchrun (bench/benchrun), which launches it inside a Windows Job Object and reports wall time, total CPU time and peak committed memory for the whole process tree. Every test runs 10 times and the median is reported (with --keep-best K, the median of the K fastest runs). Benchmark builds of blazezip target the local CPU (x86-64-v3 when AVX2 is available) and compile the C libraries with clang-cl when it is installed; ordinary release builds stay portable.

Benchmarks.

CategoryWhat happens
ZIP createfolder → .zip with Deflate at each tool's fast / default / max preset (blazezip's max is -9; -10..-12 trade 4-8× CPU for under 1% ratio)
ZIP extractevery tool extracts the same reference .zip made by 7-Zip
ZIP round-tripevery tool extracts the archive it made itself
Native compressone large file (a .tar of the corpus, or enwik8) → each tool's own best format
Native decompresseach tool decompresses its own native output

Medals go to the top three per benchmark for each metric: speed, CPU time, memory and, for compression, output size. Only verified results count: created ZIPs must pass 7z t, extractions are hash-checked file by file, and native round-trips must be byte-identical.

Extended suite. python bench/extended.py measures 91 further metrics on every tool, each with medals:

  • speed with one CPU, at 1/2/4/8/all CPUs, under full CPU contention, two jobs at once, under a 256 MiB memory cap, in a Defender-scanned folder, and time to first byte;
  • how much a tool slows other programs (p99 lateness of a 10 ms timer while it works);
  • workload shapes: 100k tiny files, a 4.6 GiB file, paths over 260 characters, Unicode names, sparse and zero files, a mixed home-folder tree, JSON logs, a SQLite database, a git checkout, Word and PDF documents, 70k and 1M entries;
  • the whole speed/size curve: every compression level, the area under it, and the smallest archive within 1, 3 and 10 seconds;
  • operations: add, delete, update, extract one file, list and test, also on 100k- and 1M-entry archives;
  • resources: working set, bytes read and written, temp space, threads, handles, page faults, start-up cost and tool size;
  • archive quality: Pareto efficiency, size per CPU-second, per-entry overhead, reproducibility, and decode cost for a neutral reader;
  • Windows file-system cases: device names (aux.h), junction loops, hard links, Mark of the Web, case-only name clashes, read-only and unwritable destinations, live-growing files, folder times and dates outside 1980-2107;
  • archives from elsewhere: legacy code pages, macOS clutter, Unix symlinks, Deflate64, BZip2, LZMA, PPMd, XZ and Zstandard entries, NFC/NFD names, comments, and encryption;
  • safety and correctness: five independent readers, metadata, Zip64, UTF-8 flags, locked inputs, corruption detection, CRC and size mismatches, overlapping zip bombs, truncated and damaged-end recovery, zip-slip, exit codes and Ctrl-C clean-up.

A few metrics (cold cache and first run, HDD, USB and network targets, energy, disk full, power-saver) need hardware or administrator rights; the report lists them with the reason. Metrics where every tool ties award no medals. Each run goes to results/ext-<timestamp>/extended.html; results/ext-latest-report.html combines every competitor's best result with blazezip's latest. python -m pytest bench/tests tests the suite's own helpers.

Corpora. All are standard or deterministic: Silesia (the standard compression benchmark), the Canterbury large corpus, enwik8, a Linux 6.6 source subset, real Windows binaries, and synthetic incompressible media.

Getting the competitors

Most install with winget: 7zip.7zip, M2Team.NanaZip, Giorgiotani.Peazip, Bandisoft.Bandizip, RARLab.WinRAR, Corel.WinZip with Corel.WinZip.CommandLineSupportAddOn, and Meta.Zstandard. The suite also looks in tools/ for the following:

  • tools/lz4/: the official Windows release
  • tools/pigz/: the Cygwin pigz build with cygwin1.dll and cygz.dll
  • tools/lzfse/: built from https://github.com/lzfse/lzfse with MSVC
  • tools/winrar/: a portable copy unpacked from the WinRAR installer
  • tools/pzip/: go install github.com/ybirader/pzip/cmd/{pzip,punzip}@latest

WinZip's command-line add-on only works after WinZip has been opened once to accept its trial or licence.

Licence

blazezip is released under the MIT licence. It includes libdeflate (MIT) and Zstandard (BSD-3-Clause); see THIRD_PARTY_NOTICES.md.

archiver
compression
deflate
rust
windows
zip
zstd