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 5 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.572×
Rust brotli0.574×
Burli2.555×

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

51,228 compressed → 1,048,576 restored bytes; compressed / original: 4.885%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C668.6662.3–675.61,495.771.000×
mbrotli272.5272.2–272.83,669.632.453×
Rust brotli841.7840.9–842.81,188.010.794×
Burli358.6358.4–3592,788.301.864×

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.1762.175–2.17728,723.631.000×
mbrotli0.8360.8352–0.836874,764.922.603×
Rust brotli35.8135.79–35.831,745.400.061×
Burli0.84770.8471–0.848473,728.712.567×

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.0440.01–40.0624,977.091.000×
mbrotli15.7615.74–15.7863,450.302.540×
Rust brotli91.2191.15–91.2910,963.550.439×
Burli15.7415.72–15.7563,542.422.544×

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.7934.75–34.841,796.641.000×
mbrotli8.7178.708–8.7287,170.033.991×
Rust brotli47.9447.87–48.031,303.800.726×
Burli8.4088.401–8.4177,433.374.137×

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,224–1,225816.531.000×
mbrotli8.5568.542–8.573116,872.96143.133×
Rust brotli1,2571,256–1,258795.380.974×
Burli8.2098.205–8.212121,824.59149.197×

alice29

Vendored Alice in Wonderland text.

52,809 compressed → 152,089 restored bytes; compressed / original: 34.722%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C207.7207.4–208698.211.000×
mbrotli225.6225.3–225.8643.060.921×
Rust brotli293292.8–293.2495.000.709×
Burli284.2283.9–284.6510.300.731×

empty

Empty input; measures API overhead.

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

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C0.1040.1038–0.1042—1.000×
mbrotli0.020270.01958–0.02102—5.129×
Rust brotli1.7271.725–1.729—0.060×
Burli0.015420.01538–0.0155—6.744×

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.70050.7–0.701159.901.000×
mbrotli0.87510.8744–0.875847.950.801×
Rust brotli3.4323.429–3.43512.230.204×
Burli0.58910.5875–0.590771.231.189×