Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

lzbench run, 2026-11-08

mbrotli 0.5.20 against Google Brotli 1.2.0, measured with the lzbench in-memory benchmark on the Silesia corpus. The README’s lzbench table is taken from this run.

Environment

  • lzbench master at a6fa8aa (2026-11-07), reporting itself as lzbench 2.4.1. It vendors Google Brotli 1.2.0 and mbrotli 0.5.20.
  • gcc 15.2.0, rustc 1.99.1. Built with make BUILD_ONLY='ZSTD BROTLI MZSTD MBROTLI' MOREFLAGS="-march=native"; the Rust codecs use lzbench’s default RUST_TARGET_CPU=native, so both sides target the same CPU.
  • AMD Ryzen 9 7950X VDS (2 vCPU, KVM), Linux 7.0, default CPU governor and boost. The benchmark is pinned to one vCPU with taskset -c 1.
  • Input: silesia.tar, 211,957,760 bytes, the twelve Silesia files in a ustar archive, compressed as one stream.

Command

taskset -c 1 ./lzbench -t8,8 -o1 \
  -ebrotli,0/mbrotli,0/brotli,2/mbrotli,2/brotli,5/mbrotli,5/brotli,8/mbrotli,8/brotli,11/mbrotli,11 \
  silesia.tar

-t8,8 repeats each compression and decompression for at least eight seconds and reports the fastest iteration. Codecs are interleaved level by level so that drift on the shared host affects both sides of a pair alike.

Results

lzbench 2.4.1 | GCC 15.2.0 | 64-bit Linux | AMD Ryzen 9 7950X 16-Core Processor

Compressor nameCompressionDecompress.Compr. sizeRatioFilename
brotli 1.2.0 -0531 MB/s452 MB/s7846682937.02../silesia.tar
mbrotli 0.5.20 -0549 MB/s585 MB/s7846682937.02../silesia.tar
brotli 1.2.0 -2197 MB/s542 MB/s6807063432.12../silesia.tar
mbrotli 0.5.20 -2186 MB/s703 MB/s6807063432.12../silesia.tar
brotli 1.2.0 -571.1 MB/s601 MB/s5956458128.10../silesia.tar
mbrotli 0.5.20 -578.2 MB/s788 MB/s5956458128.10../silesia.tar
brotli 1.2.0 -815.5 MB/s662 MB/s5714984026.96../silesia.tar
mbrotli 0.5.20 -821.8 MB/s862 MB/s5714984026.96../silesia.tar
brotli 1.2.0 -110.80 MB/s587 MB/s5048836023.82../silesia.tar
mbrotli 0.5.20 -111.23 MB/s713 MB/s5050392923.83../silesia.tar

Repeatability

A second run of qualities 2 and 5 right after the sweep measured:

Compressor nameCompressionDecompress.
brotli 1.2.0 -2204 MB/s539 MB/s
mbrotli 0.5.20 -2203 MB/s706 MB/s
brotli 1.2.0 -577.2 MB/s605 MB/s
mbrotli 0.5.20 -583.3 MB/s793 MB/s

Compression speed moved by up to 9% between runs (mbrotli -2: 186 to 203 MB/s) while decompression stayed within 1%. The -0 and -2 compression differences in the sweep (+3.4% and -5.6%) are therefore within noise; -5 (+10% and +8%), -8 and -11 are not. Compressed sizes are equal at qualities 0–8; at quality 11 mbrotli’s output is 15,569 bytes (0.031%) larger.