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 9 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.553×
Rust brotli0.569×
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.

50,608 compressed → 1,048,576 restored bytes; compressed / original: 4.826%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C652.6652.2–653.11,532.261.000×
mbrotli271.6269.4–275.33,681.692.403×
Rust brotli860.4859.4–861.81,162.200.758×
Burli373.8373.3–374.22,675.391.746×

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.2192.21–2.23128,163.351.000×
mbrotli0.8580.8577–0.858372,842.622.586×
Rust brotli35.4335.4–35.461,764.110.063×
Burli0.86490.8642–0.865672,266.702.566×

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.0740.04–40.124,959.001.000×
mbrotli15.915.9–15.9162,877.122.519×
Rust brotli92.2492.16–92.3410,841.680.434×
Burli15.9815.95–16.0362,569.632.507×

binary-64k

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

1,349 compressed → 65,536 restored bytes; compressed / original: 2.058%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C34.4534.43–34.481,814.241.000×
mbrotli8.3858.376–8.3947,454.194.109×
Rust brotli46.6446.61–46.671,340.020.739×
Burli8.1098.096–8.1217,707.054.248×

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,2261,225–1,227815.751.000×
mbrotli8.4658.459–8.473118,128.32144.809×
Rust brotli1,2691,265–1,274788.310.966×
Burli8.058.043–8.057124,226.86152.285×

alice29

Vendored Alice in Wonderland text.

51,054 compressed → 152,089 restored bytes; compressed / original: 33.569%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C200.5200.4–200.7723.341.000×
mbrotli214.9214.7–215.1674.870.933×
Rust brotli284.6284.4–284.9509.590.704×
Burli287.9287.6–288.1503.870.697×

empty

Empty input; measures API overhead.

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

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C0.11290.1128–0.1131—1.000×
mbrotli0.020250.01955–0.02097—5.575×
Rust brotli1.7091.708–1.71—0.066×
Burli0.015450.0154–0.01553—7.309×

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.79980.7984–0.801352.471.000×
mbrotli0.90370.9031–0.904346.430.885×
Rust brotli3.5113.507–3.51511.950.228×
Burli0.58560.5846–0.586571.651.366×