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.
| Implementation | Median speed / C ↑ | Median output / C ↓ | Datasets |
|---|---|---|---|
| Google C | 1.000× | 1.000× | 8 |
| mbrotli | 4.323× | 1.000× | 8 |
| Rust brotli | 0.828× | 1.000× | 8 |
| SIMD Brotli | 1.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
| Implementation | Mean, µs | 95% mean interval, µs | MiB/s | Output bytes | Output / input | Speed / C |
|---|---|---|---|---|---|---|
| Google C | 63.46 | 63.4–63.53 | 0.66 | 48 | 109.091% | 1.000× |
| mbrotli | 3.576 | 3.573–3.579 | 11.73 | 48 | 109.091% | 17.746× |
| Rust brotli | 66.49 | 66.38–66.61 | 0.63 | 48 | 109.091% | 0.954× |
| SIMD Brotli | 23.32 | 23.31–23.34 | 1.80 | 48 | 109.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
| Implementation | Mean, µs | 95% mean interval, µs | MiB/s | Output bytes | Output / input | Speed / C |
|---|---|---|---|---|---|---|
| Google C | 425.7 | 425.6–426 | 2,348.81 | 13 | 0.001% | 1.000× |
| mbrotli | 75.57 | 75.52–75.61 | 13,233.41 | 13 | 0.001% | 5.634× |
| Rust brotli | 1,140 | 1,134–1,146 | 877.51 | 13 | 0.001% | 0.374× |
| SIMD Brotli | 1,202 | 1,195–1,210 | 831.89 | 13 | 0.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
| Implementation | Mean, µs | 95% mean interval, µs | MiB/s | Output bytes | Output / input | Speed / C |
|---|---|---|---|---|---|---|
| Google C | 2,454 | 2,450–2,458 | 25.47 | 1,349 | 2.058% | 1.000× |
| mbrotli | 116 | 115.7–116.3 | 538.75 | 1,349 | 2.058% | 21.151× |
| Rust brotli | 2,814 | 2,803–2,826 | 22.21 | 1,349 | 2.058% | 0.872× |
| SIMD Brotli | 235.2 | 235.1–235.4 | 265.69 | 1,349 | 2.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
| Implementation | Mean, µs | 95% mean interval, µs | MiB/s | Output bytes | Output / input | Speed / C |
|---|---|---|---|---|---|---|
| Google C | 9,448 | 9,395–9,524 | 6.62 | 65,540 | 100.006% | 1.000× |
| mbrotli | 138.7 | 138.1–139.3 | 450.60 | 65,540 | 100.006% | 68.117× |
| Rust brotli | 1.041e+04 | 1.033e+04–1.051e+04 | 6.00 | 65,540 | 100.006% | 0.907× |
| SIMD Brotli | 257.1 | 256.8–257.3 | 243.14 | 65,540 | 100.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
| Implementation | Mean, µs | 95% mean interval, µs | MiB/s | Output bytes | Output / input | Speed / C |
|---|---|---|---|---|---|---|
| Google C | 1.379e+04 | 1.37e+04–1.39e+04 | 10.52 | 51,054 | 33.569% | 1.000× |
| mbrotli | 4,579 | 4,575–4,584 | 31.68 | 51,054 | 33.569% | 3.011× |
| Rust brotli | 1.695e+04 | 1.689e+04–1.703e+04 | 8.56 | 51,056 | 33.570% | 0.813× |
| SIMD Brotli | 5,501 | 5,497–5,506 | 26.37 | 51,056 | 33.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
| Implementation | Mean, µs | 95% mean interval, µs | MiB/s | Output bytes | Output / input | Speed / C |
|---|---|---|---|---|---|---|
| Google C | 1.516e+04 | 1.513e+04–1.519e+04 | 65.95 | 50,608 | 4.826% | 1.000× |
| mbrotli | 1.515e+04 | 1.501e+04–1.53e+04 | 66.02 | 50,608 | 4.826% | 1.001× |
| Rust brotli | 1.84e+04 | 1.824e+04–1.858e+04 | 54.36 | 50,510 | 4.817% | 0.824× |
| SIMD Brotli | 1.773e+04 | 1.762e+04–1.788e+04 | 56.40 | 50,510 | 4.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
| Implementation | Mean, µs | 95% mean interval, µs | MiB/s | Output bytes | Output / input | Speed / C |
|---|---|---|---|---|---|---|
| Google C | 1.408e+04 | 1.402e+04–1.414e+04 | 71.04 | 1,048,581 | 100.000% | 1.000× |
| mbrotli | 1.418e+04 | 1.392e+04–1.448e+04 | 70.51 | 1,048,581 | 100.000% | 0.992× |
| Rust brotli | 1.692e+04 | 1.683e+04–1.704e+04 | 59.08 | 1,048,581 | 100.000% | 0.832× |
| SIMD Brotli | 1.727e+04 | 1.7e+04–1.757e+04 | 57.91 | 1,048,581 | 100.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
| Implementation | Mean, ns | 95% mean interval, ns | MiB/s | Output bytes | Output / input | Speed / C |
|---|---|---|---|---|---|---|
| Google C | 17.84 | 17.79–17.89 | — | 1 | — | 1.000× |
| mbrotli | 34.59 | 34.38–34.97 | — | 1 | — | 0.516× |
| Rust brotli | 6,335 | 6,321–6,348 | — | 1 | — | 0.003× |
| SIMD Brotli | 6,387 | 6,375–6,399 | — | 1 | — | 0.003× |