Decompression of quality 7 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.574× |
| Rust brotli | 0.562× |
| Burli | 2.511× |
mbrotli median speed / Burli: 0.982× (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,580 compressed → 1,048,576 restored bytes; compressed / original: 4.824%.
| Decoder | Mean µs | 95% mean interval µs | Decoded MiB/s | Speed / C |
|---|---|---|---|---|
| Google C | 691.9 | 674.7–709.8 | 1,445.28 | 1.000× |
| mbrotli | 268.7 | 268.3–269 | 3,722.26 | 2.575× |
| Rust brotli | 838.5 | 837.9–839.2 | 1,192.54 | 0.825× |
| Burli | 367 | 366.5–367.4 | 2,725.06 | 1.885× |
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.17 | 2.168–2.171 | 28,804.19 | 1.000× |
| mbrotli | 0.8435 | 0.8426–0.8444 | 74,096.58 | 2.572× |
| Rust brotli | 35.44 | 35.42–35.47 | 1,763.36 | 0.061× |
| Burli | 0.8651 | 0.8648–0.8654 | 72,248.23 | 2.508× |
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.24 | 40.17–40.32 | 24,853.21 | 1.000× |
| mbrotli | 16.04 | 16.02–16.06 | 62,348.51 | 2.509× |
| Rust brotli | 94.53 | 94.41–94.63 | 10,578.93 | 0.426× |
| Burli | 16.01 | 16–16.02 | 62,459.59 | 2.513× |
binary-64k
64 KiB of structured binary bytes: ((i / 16) XOR i) modulo 256.
1,588 compressed → 65,536 restored bytes; compressed / original: 2.423%.
| Decoder | Mean µs | 95% mean interval µs | Decoded MiB/s | Speed / C |
|---|---|---|---|---|
| Google C | 34.73 | 34.71–34.75 | 1,799.59 | 1.000× |
| mbrotli | 8.756 | 8.751–8.761 | 7,137.99 | 3.966× |
| Rust brotli | 46.44 | 46.38–46.51 | 1,345.73 | 0.748× |
| Burli | 8.453 | 8.437–8.47 | 7,394.00 | 4.109× |
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,227 | 1,226–1,229 | 814.87 | 1.000× |
| mbrotli | 8.486 | 8.476–8.497 | 117,840.80 | 144.613× |
| Rust brotli | 1,263 | 1,262–1,264 | 791.84 | 0.972× |
| Burli | 8.047 | 8.044–8.051 | 124,265.58 | 152.498× |
alice29
Vendored Alice in Wonderland text.
51,451 compressed → 152,089 restored bytes; compressed / original: 33.830%.
| Decoder | Mean µs | 95% mean interval µs | Decoded MiB/s | Speed / C |
|---|---|---|---|---|
| Google C | 198.4 | 197.9–199 | 731.03 | 1.000× |
| mbrotli | 214.6 | 214.4–214.9 | 675.81 | 0.924× |
| Rust brotli | 283.9 | 283.7–284.1 | 510.84 | 0.699× |
| Burli | 278.2 | 277.9–278.5 | 521.41 | 0.713× |
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.1127 | 0.1126–0.1128 | — | 1.000× |
| mbrotli | 0.02022 | 0.01954–0.02093 | — | 5.573× |
| Rust brotli | 1.736 | 1.734–1.738 | — | 0.065× |
| Burli | 0.01544 | 0.01539–0.01552 | — | 7.300× |
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.695 | 0.6942–0.6958 | 60.38 | 1.000× |
| mbrotli | 0.8747 | 0.8736–0.8759 | 47.97 | 0.795× |
| Rust brotli | 3.435 | 3.43–3.44 | 12.22 | 0.202× |
| Burli | 0.5848 | 0.5838–0.5857 | 71.75 | 1.188× |