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 8

Benchmark index · Median overview · ← Quality 7 · Quality 9 →

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.022×1.000×8
Rust brotli0.291×1.000×8
SIMD Brotli0.285×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 · random-64k · text-1m · random-1m · alice29 · binary-64k · empty

repeated-1m

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

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

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C475.2474.9–475.52,104.39130.001%1.000×
mbrotli75.8475.74–75.9313,186.47130.001%6.266×
Rust brotli1,3581,328–1,392736.56130.001%0.350×
SIMD Brotli1,4531,437–1,473688.17130.001%0.327×

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.8274.823–4.8328.6948109.091%1.000×
mbrotli3.5463.54–3.55611.8348109.091%1.361×
Rust brotli168.7168.1–169.50.2548109.091%0.029×
SIMD Brotli19.9319.92–19.942.1148109.091%0.242×

random-64k

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

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

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C136.9136.8–137.1456.5165,540100.006%1.000×
mbrotli113.5112.7–114.4550.4465,540100.006%1.206×
Rust brotli590.7572.3–609.3105.8165,540100.006%0.232×
SIMD Brotli583565.1–602.8107.2165,540100.006%0.235×

text-1m

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

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

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C3,7903,777–3,805263.8350,4734.813%1.000×
mbrotli3,5813,557–3,612279.2250,4734.813%1.058×
Rust brotli6,7366,705–6,770148.4550,6484.830%0.563×
SIMD Brotli6,6636,647–6,682150.0850,6484.830%0.569×

random-1m

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

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

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C2,8052,798–2,814356.461,048,581100.000%1.000×
mbrotli2,8472,807–2,892351.191,048,581100.000%0.985×
Rust brotli4,5424,530–4,554220.171,048,581100.000%0.618×
SIMD Brotli4,8244,797–4,855207.311,048,581100.000%0.582×

alice29

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

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

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C3,4373,433–3,44042.2151,18733.656%1.000×
mbrotli3,5873,582–3,59240.4451,18733.656%0.958×
Rust brotli5,6965,667–5,72625.4651,18733.656%0.603×
SIMD Brotli5,6045,540–5,67225.8851,18733.656%0.613×

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.734×; output: 1,588 / 1,588 bytes.

Exact measurements and confidence bounds
ImplementationMean, µs95% mean interval, µsMiB/sOutput bytesOutput / inputSpeed / C
Google C77.7277.55–77.87804.171,5882.423%1.000×
mbrotli105.9105.8–106.1589.911,5882.423%0.734×
Rust brotli565.1559.5–573.6110.591,5882.423%0.138×
SIMD Brotli557.7554.9–560.9112.061,5882.423%0.139×

empty

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

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

Exact measurements and confidence bounds
ImplementationMean, ns95% mean interval, nsMiB/sOutput bytesOutput / inputSpeed / C
Google C17.917.87–17.93—1—1.000×
mbrotli34.5434.32–34.93—1—0.518×
Rust brotli1.648e+051.636e+05–1.661e+05—1—0.000×
SIMD Brotli1.64e+051.633e+05–1.649e+05—1—0.000×