Decompression of quality 0 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.059× |
| Rust brotli | 0.446× |
| Burli | 2.873× |
mbrotli median speed / Burli: 1.036× (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.1545 | 0.1541–0.1551 | 271.55 | 1.000× |
| mbrotli | 0.02264 | 0.02181–0.02347 | 1,853.82 | 6.827× |
| Rust brotli | 1.811 | 1.81–1.812 | 23.17 | 0.085× |
| Burli | 0.03467 | 0.03448–0.03489 | 1,210.16 | 4.456× |
binary-64k
64 KiB of structured binary bytes: ((i / 16) XOR i) modulo 256.
3,369 compressed → 65,536 restored bytes; compressed / original: 5.141%.
| Decoder | Mean µs | 95% mean interval µs | Decoded MiB/s | Speed / C |
|---|---|---|---|---|
| Google C | 35.85 | 35.83–35.88 | 1,743.21 | 1.000× |
| mbrotli | 10.11 | 10.1–10.12 | 6,180.74 | 3.546× |
| Rust brotli | 78.78 | 78.73–78.82 | 793.37 | 0.455× |
| Burli | 11.17 | 11.16–11.18 | 5,595.61 | 3.210× |
repeated-1m
1 MiB of repeated a bytes.
712 compressed → 1,048,576 restored bytes; compressed / original: 0.068%.
| Decoder | Mean µs | 95% mean interval µs | Decoded MiB/s | Speed / C |
|---|---|---|---|---|
| Google C | 206.2 | 206–206.5 | 4,848.70 | 1.000× |
| mbrotli | 45.56 | 45.53–45.59 | 21,949.93 | 4.527× |
| Rust brotli | 230.7 | 230.2–231.3 | 4,334.88 | 0.894× |
| Burli | 46.66 | 46.6–46.72 | 21,432.98 | 4.420× |
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.168 | 2.167–2.17 | 28,826.64 | 1.000× |
| mbrotli | 0.8428 | 0.842–0.8436 | 74,159.30 | 2.573× |
| Rust brotli | 35.89 | 35.86–35.93 | 1,741.37 | 0.060× |
| Burli | 0.8548 | 0.8541–0.8556 | 73,117.62 | 2.536× |
text-1m
Alice text repeated cyclically to 1 MiB.
190,491 compressed → 1,048,576 restored bytes; compressed / original: 18.167%.
| Decoder | Mean µs | 95% mean interval µs | Decoded MiB/s | Speed / C |
|---|---|---|---|---|
| Google C | 902.8 | 902.1–903.7 | 1,107.64 | 1.000× |
| mbrotli | 895 | 894–896 | 1,117.37 | 1.009× |
| Rust brotli | 1,215 | 1,214–1,216 | 823.17 | 0.743× |
| Burli | 938.5 | 938–939.1 | 1,065.51 | 0.962× |
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.92 | 39.9–39.95 | 25,048.14 | 1.000× |
| mbrotli | 15.97 | 15.95–15.99 | 62,628.72 | 2.500× |
| Rust brotli | 91.51 | 91.22–91.85 | 10,927.83 | 0.436× |
| Burli | 15.99 | 15.97–16 | 62,555.46 | 2.497× |
alice29
Vendored Alice in Wonderland text.
65,795 compressed → 152,089 restored bytes; compressed / original: 43.261%.
| Decoder | Mean µs | 95% mean interval µs | Decoded MiB/s | Speed / C |
|---|---|---|---|---|
| Google C | 289.9 | 289.6–290.2 | 500.37 | 1.000× |
| mbrotli | 304.4 | 304.2–304.5 | 476.56 | 0.952× |
| Rust brotli | 426.8 | 426.3–427.5 | 339.82 | 0.679× |
| Burli | 330.1 | 329.8–330.3 | 439.44 | 0.878× |
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.101 | 0.1008–0.1011 | — | 1.000× |
| mbrotli | 0.02024 | 0.01956–0.02094 | — | 4.989× |
| Rust brotli | 1.742 | 1.74–1.745 | — | 0.058× |
| Burli | 0.01543 | 0.01538–0.01552 | — | 6.545× |