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 11 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.847×
Rust brotli0.584×
Burli2.662×

mbrotli median speed / Burli: 1.067× (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%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C0.19590.1952–0.1968214.181.000×
mbrotli0.023310.02255–0.02411,800.108.405×
Rust brotli1.8531.852–1.85522.640.106×
Burli0.035060.03493–0.035211,196.795.588×

text-1m

Alice text repeated cyclically to 1 MiB.

46,491 compressed → 1,048,576 restored bytes; compressed / original: 4.434%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C665.7662.9–6691,502.221.000×
mbrotli273272.6–273.63,663.142.438×
Rust brotli850.5849.8–851.11,175.840.783×
Burli385.3384.9–385.62,595.331.728×

binary-64k

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

1,065 compressed → 65,536 restored bytes; compressed / original: 1.625%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C37.8437.81–37.871,651.781.000×
mbrotli12.1812.18–12.195,129.383.105×
Rust brotli51.3851.34–51.421,216.370.736×
Burli13.713.69–13.714,562.062.762×

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.2072.206–2.20828,319.231.000×
mbrotli0.85250.8521–0.852973,314.542.589×
Rust brotli35.6435.48–35.891,753.460.062×
Burli0.86110.8607–0.861472,584.432.563×

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 C40.1740.14–40.2224,895.161.000×
mbrotli16.0316–16.0662,396.032.506×
Rust brotli92.3592.2–92.5210,828.280.435×
Burli1615.99–16.0162,489.752.510×

alice29

Vendored Alice in Wonderland text.

46,487 compressed → 152,089 restored bytes; compressed / original: 30.566%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C239.2238.5–239.9606.351.000×
mbrotli248.2247.8–248.5584.490.964×
Rust brotli326.5326.3–326.9444.170.733×
Burli367.9367.5–368.3394.250.650×

repeated-1m

1 MiB of repeated a bytes.

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

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C1,2261,225–1,227815.691.000×
mbrotli8.9478.936–8.958111,771.06137.027×
Rust brotli1,2631,262–1,265791.610.970×
Burli8.0438.035–8.053124,330.40152.424×

empty

Empty input; measures API overhead.

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

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C0.11330.1131–0.1135—1.000×
mbrotli0.020260.01958–0.02098—5.589×
Rust brotli1.7121.71–1.715—0.066×
Burli0.015440.01539–0.01551—7.337×