Decompression of quality 2 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 | 3.325× |
| Rust brotli | 0.570× |
| Burli | 3.362× |
mbrotli median speed / Burli: 1.056× (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.
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.1846 | 0.1842–0.1851 | 227.34 | 1.000× |
| mbrotli | 0.02252 | 0.02169–0.02337 | 1,863.59 | 8.197× |
| Rust brotli | 1.845 | 1.842–1.849 | 22.74 | 0.100× |
| Burli | 0.03513 | 0.03499–0.03529 | 1,194.48 | 5.254× |
text-1m
Alice text repeated cyclically to 1 MiB.
57,403 compressed → 1,048,576 restored bytes; compressed / original: 5.474%.
| Decoder | Mean µs | 95% mean interval µs | Decoded MiB/s | Speed / C |
|---|---|---|---|---|
| Google C | 659.7 | 659–660.4 | 1,515.89 | 1.000× |
| mbrotli | 276.1 | 275.9–276.4 | 3,621.52 | 2.389× |
| Rust brotli | 877.3 | 876.6–877.9 | 1,139.92 | 0.752× |
| Burli | 308.2 | 307.8–308.7 | 3,244.40 | 2.140× |
repeated-1m
1 MiB of repeated a bytes.
23 compressed → 1,048,576 restored bytes; compressed / original: 0.002%.
| Decoder | Mean µs | 95% mean interval µs | Decoded MiB/s | Speed / C |
|---|---|---|---|---|
| Google C | 1,227 | 1,226–1,227 | 815.31 | 1.000× |
| mbrotli | 10.52 | 10.52–10.53 | 95,016.53 | 116.541× |
| Rust brotli | 1,258 | 1,257–1,259 | 794.77 | 0.975× |
| Burli | 11.55 | 11.54–11.56 | 86,549.46 | 106.156× |
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.201 | 2.2–2.202 | 28,391.28 | 1.000× |
| mbrotli | 0.84 | 0.8393–0.8407 | 74,404.66 | 2.621× |
| Rust brotli | 35.84 | 35.81–35.86 | 1,744.07 | 0.061× |
| Burli | 0.852 | 0.8492–0.8574 | 73,355.28 | 2.584× |
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 | 39.88 | 39.83–39.92 | 25,077.78 | 1.000× |
| mbrotli | 15.86 | 15.83–15.88 | 63,067.51 | 2.515× |
| Rust brotli | 83.82 | 83.69–83.97 | 11,930.95 | 0.476× |
| Burli | 15.86 | 15.84–15.88 | 63,057.55 | 2.514× |
binary-64k
64 KiB of structured binary bytes: ((i / 16) XOR i) modulo 256.
2,673 compressed → 65,536 restored bytes; compressed / original: 4.079%.
| Decoder | Mean µs | 95% mean interval µs | Decoded MiB/s | Speed / C |
|---|---|---|---|---|
| Google C | 34.73 | 34.7–34.77 | 1,799.57 | 1.000× |
| mbrotli | 8.621 | 8.617–8.625 | 7,250.00 | 4.029× |
| Rust brotli | 46.52 | 46.47–46.57 | 1,343.56 | 0.747× |
| Burli | 8.388 | 8.382–8.395 | 7,450.75 | 4.140× |
alice29
Vendored Alice in Wonderland text.
57,383 compressed → 152,089 restored bytes; compressed / original: 37.730%.
| Decoder | Mean µs | 95% mean interval µs | Decoded MiB/s | Speed / C |
|---|---|---|---|---|
| Google C | 245.9 | 245.4–246.4 | 589.90 | 1.000× |
| mbrotli | 254.7 | 254.4–255 | 569.48 | 0.965× |
| Rust brotli | 370.1 | 369.8–370.4 | 391.94 | 0.664× |
| Burli | 286.6 | 285.9–287.8 | 506.07 | 0.858× |
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.1133 | 0.113–0.1135 | — | 1.000× |
| mbrotli | 0.02025 | 0.01957–0.02095 | — | 5.593× |
| Rust brotli | 1.728 | 1.726–1.729 | — | 0.066× |
| Burli | 0.01551 | 0.01545–0.0156 | — | 7.302× |