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 7

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

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
mbrotli1.004×1.000×8
Rust brotli0.360×1.000×8
SIMD Brotli0.331×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.

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

repeated-1m

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

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

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C474.5474–475.22,107.29130.001%1.000×
mbrotli160.4159.9–161.16,232.49130.001%2.958×
Rust brotli1,0871,081–1,095919.66130.001%0.436×
SIMD Brotli1,2131,209–1,218824.50130.001%0.391×

tiny-text

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

mbrotli speed / fastest peer (Google C): 1.361×; output: 48 / 48 bytes.

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C4.6984.694–4.7028.9348109.091%1.000×
mbrotli3.4523.449–3.45512.1648109.091%1.361×
Rust brotli67.0566.95–67.140.6348109.091%0.070×
SIMD Brotli19.9319.92–19.952.1148109.091%0.236×

text-1m

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

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

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C3,3683,363–3,375296.8950,5804.824%1.000×
mbrotli2,9032,891–2,915344.4950,5804.824%1.160×
Rust brotli5,1885,167–5,215192.7550,9094.855%0.649×
SIMD Brotli5,4765,467–5,486182.6250,9094.855%0.615×

random-1m

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

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

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C1,8791,877–1,881532.181,048,581100.000%1.000×
mbrotli1,8251,821–1,830547.861,048,581100.000%1.029×
Rust brotli3,2093,202–3,215311.651,048,581100.000%0.586×
SIMD Brotli3,4843,453–3,523287.011,048,581100.000%0.539×

alice29

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

mbrotli speed / fastest peer (Google C): 0.979×; output: 51,451 / 51,451 bytes.

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C2,9592,953–2,96549.0251,45133.830%1.000×
mbrotli3,0213,016–3,02748.0151,45133.830%0.979×
Rust brotli4,2914,276–4,30833.8051,45133.830%0.690×
SIMD Brotli4,5124,479–4,54832.1451,45133.830%0.656×

random-64k

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

mbrotli speed / fastest peer (Google C): 0.750×; output: 65,540 / 65,540 bytes.

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C84.9984.85–85.13735.4065,540100.006%1.000×
mbrotli113.3112.6–114551.5965,540100.006%0.750×
Rust brotli300.7300.1–301.3207.8665,540100.006%0.283×
SIMD Brotli313.5312.5–314.6199.3665,540100.006%0.271×

binary-64k

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

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

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C71.9771.79–72.16868.361,5882.423%1.000×
mbrotli103102.7–103.3606.641,5882.423%0.699×
Rust brotli334.4333.3–335.6186.921,5882.423%0.215×
SIMD Brotli365.6360–371.9170.971,5882.423%0.197×

empty

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

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

Exact measurements and confidence bounds
ImplementationMean, ns95% mean interval, nsMiB/sOutput bytesOutput / inputSpeed / C
Google C17.5617.53–17.6—1—1.000×
mbrotli34.5534.33–34.94—1—0.508×
Rust brotli6.088e+046.079e+04–6.098e+04—1—0.000×
SIMD Brotli6.035e+046.028e+04–6.043e+04—1—0.000×