Decompression of quality 9 streams
Decoder overview · Benchmark index
Recorded run: dec-2026-10-30-amd (2026-10-30). CSV · Environment · Methodology and limits.
Quality belongs to the C encoder that prepared the input; decoders have no quality setting. All four decode the same bytes. Burli is included at every source quality; SIMD Brotli re-exports Rust brotli’s decoder and is omitted.
Median speed across 8 datasets
Median of per-dataset C mean time / decoder mean time ratios, with equal weight. Higher is faster; 1× matches C. No confidence interval is inferred for this across-dataset median.
| Decoder | Median speed / C |
|---|---|
| Google C | 1.000× |
| mbrotli | 2.553× |
| Rust brotli | 0.569× |
| Burli | 2.536× |
mbrotli median speed / Burli: 0.986× (direct per-dataset ratios).
Datasets are ranked by mbrotli speed relative to the fastest peer, highest first. Throughput counts restored bytes; empty input has latency only. Whiskers and intervals describe sampling uncertainty, not all host variation. Cold APIs include allocation and disposal. C knows the output capacity; Rust brotli includes its 4 KiB I/O adapter.
text-1m
Alice text repeated cyclically to 1 MiB.
50,608 compressed → 1,048,576 restored bytes; compressed / original: 4.826%.
| Decoder | Mean µs | 95% mean interval µs | Decoded MiB/s | Speed / C |
|---|---|---|---|---|
| Google C | 652.6 | 652.2–653.1 | 1,532.26 | 1.000× |
| mbrotli | 271.6 | 269.4–275.3 | 3,681.69 | 2.403× |
| Rust brotli | 860.4 | 859.4–861.8 | 1,162.20 | 0.758× |
| Burli | 373.8 | 373.3–374.2 | 2,675.39 | 1.746× |
random-64k
64 KiB prefix of the deterministic pseudorandom corpus.
65,540 compressed → 65,536 restored bytes; compressed / original: 100.006%.
| Decoder | Mean µs | 95% mean interval µs | Decoded MiB/s | Speed / C |
|---|---|---|---|---|
| Google C | 2.219 | 2.21–2.231 | 28,163.35 | 1.000× |
| mbrotli | 0.858 | 0.8577–0.8583 | 72,842.62 | 2.586× |
| Rust brotli | 35.43 | 35.4–35.46 | 1,764.11 | 0.063× |
| Burli | 0.8649 | 0.8642–0.8656 | 72,266.70 | 2.566× |
random-1m
1 MiB of deterministic xorshift64 pseudorandom bytes.
1,048,581 compressed → 1,048,576 restored bytes; compressed / original: 100.000%.
| Decoder | Mean µs | 95% mean interval µs | Decoded MiB/s | Speed / C |
|---|---|---|---|---|
| Google C | 40.07 | 40.04–40.1 | 24,959.00 | 1.000× |
| mbrotli | 15.9 | 15.9–15.91 | 62,877.12 | 2.519× |
| Rust brotli | 92.24 | 92.16–92.34 | 10,841.68 | 0.434× |
| Burli | 15.98 | 15.95–16.03 | 62,569.63 | 2.507× |
binary-64k
64 KiB of structured binary bytes: ((i / 16) XOR i) modulo 256.
1,349 compressed → 65,536 restored bytes; compressed / original: 2.058%.
| Decoder | Mean µs | 95% mean interval µs | Decoded MiB/s | Speed / C |
|---|---|---|---|---|
| Google C | 34.45 | 34.43–34.48 | 1,814.24 | 1.000× |
| mbrotli | 8.385 | 8.376–8.394 | 7,454.19 | 4.109× |
| Rust brotli | 46.64 | 46.61–46.67 | 1,340.02 | 0.739× |
| Burli | 8.109 | 8.096–8.121 | 7,707.05 | 4.248× |
repeated-1m
1 MiB of repeated a bytes.
13 compressed → 1,048,576 restored bytes; compressed / original: 0.001%.
| Decoder | Mean µs | 95% mean interval µs | Decoded MiB/s | Speed / C |
|---|---|---|---|---|
| Google C | 1,226 | 1,225–1,227 | 815.75 | 1.000× |
| mbrotli | 8.465 | 8.459–8.473 | 118,128.32 | 144.809× |
| Rust brotli | 1,269 | 1,265–1,274 | 788.31 | 0.966× |
| Burli | 8.05 | 8.043–8.057 | 124,226.86 | 152.285× |
alice29
Vendored Alice in Wonderland text.
51,054 compressed → 152,089 restored bytes; compressed / original: 33.569%.
| Decoder | Mean µs | 95% mean interval µs | Decoded MiB/s | Speed / C |
|---|---|---|---|---|
| Google C | 200.5 | 200.4–200.7 | 723.34 | 1.000× |
| mbrotli | 214.9 | 214.7–215.1 | 674.87 | 0.933× |
| Rust brotli | 284.6 | 284.4–284.9 | 509.59 | 0.704× |
| Burli | 287.9 | 287.6–288.1 | 503.87 | 0.697× |
empty
Empty input; measures API overhead.
1 compressed → 0 restored bytes; compressed / original: undefined.
| Decoder | Mean µs | 95% mean interval µs | Decoded MiB/s | Speed / C |
|---|---|---|---|---|
| Google C | 0.1129 | 0.1128–0.1131 | — | 1.000× |
| mbrotli | 0.02025 | 0.01955–0.02097 | — | 5.575× |
| Rust brotli | 1.709 | 1.708–1.71 | — | 0.066× |
| Burli | 0.01545 | 0.0154–0.01553 | — | 7.309× |
tiny-text
44-byte quick-brown-fox sentence.
48 compressed → 44 restored bytes; compressed / original: 109.091%.
| Decoder | Mean µs | 95% mean interval µs | Decoded MiB/s | Speed / C |
|---|---|---|---|---|
| Google C | 0.7998 | 0.7984–0.8013 | 52.47 | 1.000× |
| mbrotli | 0.9037 | 0.9031–0.9043 | 46.43 | 0.885× |
| Rust brotli | 3.511 | 3.507–3.515 | 11.95 | 0.228× |
| Burli | 0.5856 | 0.5846–0.5865 | 71.65 | 1.366× |