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 11

Benchmark index · Median overview · ← 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
mbrotli1.493×1.000×8
Rust brotli0.834×1.000×8
SIMD Brotli0.906×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.

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

random-64k

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

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

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C8,2088,200–8,2177.6165,540100.006%1.000×
mbrotli4,8224,818–4,82512.9665,540100.006%1.702×
Rust brotli9,5159,503–9,5326.5765,540100.006%0.863×
SIMD Brotli8,8298,814–8,8457.0865,540100.006%0.930×

repeated-1m

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

mbrotli speed / fastest peer (Google C): 1.643×; output: 14 / 14 bytes.

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C1.278e+041.276e+04–1.28e+0478.26140.001%1.000×
mbrotli7,7777,755–7,802128.58140.001%1.643×
Rust brotli1.595e+041.583e+04–1.607e+0462.68140.001%0.801×
SIMD Brotli1.549e+041.541e+04–1.559e+0464.55140.001%0.825×

random-1m

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

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

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C1.843e+051.832e+05–1.855e+055.431,048,581100.000%1.000×
mbrotli1.29e+051.284e+05–1.296e+057.751,048,581100.000%1.429×
Rust brotli2.083e+052.059e+05–2.112e+054.801,048,581100.000%0.885×
SIMD Brotli2.086e+052.056e+05–2.123e+054.791,048,581100.000%0.883×

text-1m

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

mbrotli speed / fastest peer (SIMD Brotli): 1.409×; output: 46,491 / 46,491 bytes.

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C1.268e+051.264e+05–1.272e+057.8946,4914.434%1.000×
mbrotli8.139e+048.094e+04–8.19e+0412.2946,4914.434%1.558×
Rust brotli1.267e+051.265e+05–1.27e+057.8946,4914.434%1.001×
SIMD Brotli1.147e+051.14e+05–1.154e+058.7246,4914.434%1.106×

alice29

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

mbrotli speed / fastest peer (SIMD Brotli): 1.367×; output: 46,487 / 46,493 bytes.

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C1.219e+051.217e+05–1.22e+051.1946,48730.566%1.000×
mbrotli7.724e+047.713e+04–7.741e+041.8846,48730.566%1.578×
Rust brotli1.189e+051.188e+05–1.19e+051.2246,49330.570%1.025×
SIMD Brotli1.056e+051.053e+05–1.06e+051.3746,49330.570%1.154×

binary-64k

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

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

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C2,9102,907–2,91321.481,0651.625%1.000×
mbrotli2,1522,150–2,15429.041,0651.625%1.352×
Rust brotli3,7533,734–3,77316.651,0651.625%0.775×
SIMD Brotli3,0873,083–3,09120.251,0651.625%0.943×

tiny-text

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

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

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C132.9132.7–133.10.3248109.091%1.000×
mbrotli132.3132.2–132.40.3248109.091%1.004×
Rust brotli165164.7–165.60.2548109.091%0.805×
SIMD Brotli163.7162.9–164.40.2648109.091%0.812×

empty

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

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

Exact measurements and confidence bounds
ImplementationMean, ns95% mean interval, nsMiB/sOutput bytesOutput / inputSpeed / C
Google C17.7117.68–17.74—1—1.000×
mbrotli34.5434.32–34.94—1—0.513×
Rust brotli1.831e+041.829e+04–1.834e+04—1—0.001×
SIMD Brotli1.156e+041.154e+04–1.157e+04—1—0.002×