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

Compression quality 9

Benchmark index · Median overview · ← Quality 8 · Quality 10 →

Recorded run: enc-2026-10-30-amd (2026-10-30). Raw results · Environment · Run analysis.

Median across all datasets

Each of the eight datasets has equal weight, including empty and tiny input. Speed / C = C mean latency / implementation mean latency; output / C = implementation bytes / C bytes. We take the median of these eight per-dataset ratios separately for speed and size. 1× matches C; higher speed and lower output are better. These are medians across datasets, not median sample latencies, and do not imply equal compressed size or statistical significance.

ImplementationMedian speed / C ↑Median output / C ↓Datasets
Google C1.000×1.000×8
mbrotli4.323×1.000×8
Rust brotli0.828×1.000×8
SIMD Brotli1.681×1.000×8
Measurement setup and interpretation

Google C Brotli 1.2.0, mbrotli at the recorded optimized checkout, Rust brotli 9.0.0, and SIMD Brotli 10.0.1 are compared at this quality. Burli supports only qualities 0–5; it has no results at this quality.

These are cold native API measurements: construction, allocation, compression, and disposal. Generic mode, window 22, known input size; 20 samples, 1 s warmup, at least 3 s measurement. Host: AMD Ryzen 9 7950X (two KVM vCPUs), one benchmark process at a time pinned to logical CPU 1; codec calls and encoder/decoder sweeps ran serially; no concurrent builds, tests, fuzzers or profilers; unset; ordinary Cargo release defaults; runtime SIMD dispatch. Rust brotli and SIMD Brotli include their native 4 KiB I/O adapters.

Chart whiskers and table intervals describe 95% confidence bounds on mean timing. They do not capture all host or allocator variation. Throughput bounds are transformed latency bounds. Output / input is compressed bytes divided by input bytes; smaller is better, and values above 100% mean expansion. For empty input, throughput and output / input are undefined (—). See the run analysis for measurement limitations.

Dataset details

Ordered by mbrotli speed / fastest competing implementation, highest first; all eight datasets are shown. This order uses recorded mean latency, not statistical significance. Bars start at zero.

tiny-text · repeated-1m · binary-64k · random-64k · alice29 · text-1m · random-1m · empty

tiny-text

44-byte quick-brown-fox sentence. Input: 44 bytes.

mbrotli speed / fastest peer (SIMD Brotli): 6.522×; output: 48 / 48 bytes.

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C63.4663.4–63.530.6648109.091%1.000×
mbrotli3.5763.573–3.57911.7348109.091%17.746×
Rust brotli66.4966.38–66.610.6348109.091%0.954×
SIMD Brotli23.3223.31–23.341.8048109.091%2.721×

repeated-1m

1 MiB of repeated a bytes. Input: 1,048,576 bytes.

mbrotli speed / fastest peer (Google C): 5.634×; output: 13 / 13 bytes.

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C425.7425.6–4262,348.81130.001%1.000×
mbrotli75.5775.52–75.6113,233.41130.001%5.634×
Rust brotli1,1401,134–1,146877.51130.001%0.374×
SIMD Brotli1,2021,195–1,210831.89130.001%0.354×

binary-64k

64 KiB of structured binary bytes: ((i / 16) XOR i) modulo 256. Input: 65,536 bytes.

mbrotli speed / fastest peer (SIMD Brotli): 2.028×; output: 1,349 / 1,349 bytes.

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C2,4542,450–2,45825.471,3492.058%1.000×
mbrotli116115.7–116.3538.751,3492.058%21.151×
Rust brotli2,8142,803–2,82622.211,3492.058%0.872×
SIMD Brotli235.2235.1–235.4265.691,3492.058%10.431×

random-64k

64 KiB prefix of the deterministic pseudorandom corpus. Input: 65,536 bytes.

mbrotli speed / fastest peer (SIMD Brotli): 1.853×; output: 65,540 / 65,540 bytes.

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C9,4489,395–9,5246.6265,540100.006%1.000×
mbrotli138.7138.1–139.3450.6065,540100.006%68.117×
Rust brotli1.041e+041.033e+04–1.051e+046.0065,540100.006%0.907×
SIMD Brotli257.1256.8–257.3243.1465,540100.006%36.755×

alice29

Vendored Alice in Wonderland text. Input: 152,089 bytes.

mbrotli speed / fastest peer (SIMD Brotli): 1.201×; output: 51,054 / 51,056 bytes.

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C1.379e+041.37e+04–1.39e+0410.5251,05433.569%1.000×
mbrotli4,5794,575–4,58431.6851,05433.569%3.011×
Rust brotli1.695e+041.689e+04–1.703e+048.5651,05633.570%0.813×
SIMD Brotli5,5015,497–5,50626.3751,05633.570%2.506×

text-1m

Alice text repeated cyclically to 1 MiB. Input: 1,048,576 bytes.

mbrotli speed / fastest peer (Google C): 1.001×; output: 50,608 / 50,608 bytes.

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C1.516e+041.513e+04–1.519e+0465.9550,6084.826%1.000×
mbrotli1.515e+041.501e+04–1.53e+0466.0250,6084.826%1.001×
Rust brotli1.84e+041.824e+04–1.858e+0454.3650,5104.817%0.824×
SIMD Brotli1.773e+041.762e+04–1.788e+0456.4050,5104.817%0.855×

random-1m

1 MiB of deterministic xorshift64 pseudorandom bytes. Input: 1,048,576 bytes.

mbrotli speed / fastest peer (Google C): 0.992×; output: 1,048,581 / 1,048,581 bytes.

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C1.408e+041.402e+04–1.414e+0471.041,048,581100.000%1.000×
mbrotli1.418e+041.392e+04–1.448e+0470.511,048,581100.000%0.992×
Rust brotli1.692e+041.683e+04–1.704e+0459.081,048,581100.000%0.832×
SIMD Brotli1.727e+041.7e+04–1.757e+0457.911,048,581100.000%0.815×

empty

Empty input; measures API overhead. Input: 0 bytes.

mbrotli speed / fastest peer (Google C): 0.516×; output: 1 / 1 bytes.

Exact measurements and confidence bounds
ImplementationMean, ns95% mean interval, nsMiB/sOutput bytesOutput / inputSpeed / C
Google C17.8417.79–17.89—1—1.000×
mbrotli34.5934.38–34.97—1—0.516×
Rust brotli6,3356,321–6,348—1—0.003×
SIMD Brotli6,3876,375–6,399—1—0.003×