Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Decompression of quality 3 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.

DecoderMedian speed / C
Google C1.000×
mbrotli2.548×
Rust brotli0.563×
Burli2.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.

56,879 compressed → 1,048,576 restored bytes; compressed / original: 5.424%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C647.6646.9–648.31,544.181.000×
mbrotli262.3262.1–262.53,812.972.469×
Rust brotli863.3862.5–864.11,158.390.750×
Burli299.7299.5–299.93,337.012.161×

random-64k

64 KiB prefix of the deterministic pseudorandom corpus.

65,540 compressed → 65,536 restored bytes; compressed / original: 100.006%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C2.212.209–2.21128,277.401.000×
mbrotli0.84340.8426–0.844374,108.592.621×
Rust brotli35.935.87–35.931,740.850.062×
Burli0.85290.8524–0.853573,276.482.591×

random-1m

1 MiB of deterministic xorshift64 pseudorandom bytes.

1,048,581 compressed → 1,048,576 restored bytes; compressed / original: 100.000%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C39.639.56–39.6425,253.031.000×
mbrotli15.9915.98–16.0162,531.822.476×
Rust brotli84.3184.1–84.5511,861.190.470×
Burli15.9715.96–15.9862,627.602.480×

binary-64k

64 KiB of structured binary bytes: ((i / 16) XOR i) modulo 256.

2,687 compressed → 65,536 restored bytes; compressed / original: 4.100%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C34.5234.5–34.551,810.611.000×
mbrotli8.3158.308–8.3247,516.374.151×
Rust brotli46.246.14–46.281,352.700.747×
Burli8.1028.098–8.1077,713.854.260×

repeated-1m

1 MiB of repeated a bytes.

13 compressed → 1,048,576 restored bytes; compressed / original: 0.001%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C1,2251,225–1,226816.091.000×
mbrotli8.5478.538–8.556117,004.43143.372×
Rust brotli1,2581,256–1,259795.080.974×
Burli8.1998.189–8.209121,971.40149.459×

alice29

Vendored Alice in Wonderland text.

56,863 compressed → 152,089 restored bytes; compressed / original: 37.388%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C233.2233–233.5621.851.000×
mbrotli243.9243.8–244.1594.630.956×
Rust brotli355.8355.6–356.1407.660.656×
Burli278.5278.3–278.6520.850.838×

empty

Empty input; measures API overhead.

1 compressed → 0 restored bytes; compressed / original: undefined.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C0.10980.1096–0.11—1.000×
mbrotli0.020320.01965–0.02106—5.402×
Rust brotli1.731.726–1.735—0.063×
Burli0.015430.01538–0.0155—7.116×

tiny-text

44-byte quick-brown-fox sentence.

46 compressed → 44 restored bytes; compressed / original: 104.545%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C0.76070.7597–0.762155.161.000×
mbrotli0.73690.7351–0.738356.951.032×
Rust brotli3.4633.46–3.46612.120.220×
Burli0.52040.5172–0.52380.641.462×