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 8 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.547×
Rust brotli0.572×
Burli2.533×

mbrotli median speed / Burli: 0.988× (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,473 compressed → 1,048,576 restored bytes; compressed / original: 4.813%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C647.9646.8–649.51,543.521.000×
mbrotli268.7268.4–2693,721.352.411×
Rust brotli838.8838–8401,192.110.772×
Burli364.5364.2–364.92,743.191.777×

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.208–2.21228,276.441.000×
mbrotli0.85970.8591–0.860372,700.102.571×
Rust brotli35.4535.43–35.481,762.840.062×
Burli0.8670.8666–0.867672,085.132.549×

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.0139.98–40.0624,991.581.000×
mbrotli15.8715.84–15.8963,031.532.522×
Rust brotli92.4892.24–92.7210,813.620.433×
Burli15.915.89–15.9262,876.702.516×

binary-64k

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

1,588 compressed → 65,536 restored bytes; compressed / original: 2.423%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C34.6834.62–34.791,802.121.000×
mbrotli8.6598.655–8.6627,218.304.005×
Rust brotli46.8646.83–46.891,333.680.740×
Burli8.4278.4–8.4557,416.644.116×

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,2271,225–1,229815.201.000×
mbrotli8.4618.453–8.47118,187.86144.980×
Rust brotli1,2701,268–1,273787.340.966×
Burli8.0718.067–8.075123,898.16151.984×

alice29

Vendored Alice in Wonderland text.

51,187 compressed → 152,089 restored bytes; compressed / original: 33.656%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C200.7200.5–200.9722.571.000×
mbrotli233.4233.2–233.6621.530.860×
Rust brotli282.4281.9–282.8513.700.711×
Burli286.7286.4–287.1505.880.700×

empty

Empty input; measures API overhead.

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

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C0.110.1098–0.1102—1.000×
mbrotli0.020270.0196–0.02098—5.426×
Rust brotli1.7111.709–1.713—0.064×
Burli0.015430.01538–0.01551—7.130×

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.69260.6921–0.693160.591.000×
mbrotli0.90570.9049–0.906646.330.765×
Rust brotli3.543.536–3.54311.850.196×
Burli0.58690.5854–0.588371.491.180×