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 6 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.568×
Rust brotli0.569×
Burli2.545×

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.

50,823 compressed → 1,048,576 restored bytes; compressed / original: 4.847%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C687.5678.8–695.71,454.591.000×
mbrotli267.9267.6–268.23,732.562.566×
Rust brotli837.5836.7–838.51,194.010.821×
Burli355.3354.9–355.62,814.861.935×

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.1652.164–2.16628,866.351.000×
mbrotli0.84240.8417–0.843174,194.162.570×
Rust brotli35.8835.83–35.931,741.820.060×
Burli0.85360.8532–0.85473,220.642.537×

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.0439.99–40.0924,976.271.000×
mbrotli15.6915.67–15.763,744.072.552×
Rust brotli92.1792.08–92.2610,849.920.434×
Burli15.6815.67–15.6963,767.512.553×

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.6734.65–34.691,802.661.000×
mbrotli8.7518.748–8.7567,141.743.962×
Rust brotli46.4246.36–46.491,346.290.747×
Burli8.448.417–8.4627,405.274.108×

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,2281,226–1,229814.581.000×
mbrotli8.4588.45–8.469118,232.82145.146×
Rust brotli1,2681,266–1,269788.880.968×
Burli8.0548.047–8.061124,165.77152.430×

alice29

Vendored Alice in Wonderland text.

51,967 compressed → 152,089 restored bytes; compressed / original: 34.169%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C202.4201.9–203716.481.000×
mbrotli220.8220.6–221656.860.917×
Rust brotli287.6287.3–287.9504.350.704×
Burli281.1280.9–281.3515.950.720×

empty

Empty input; measures API overhead.

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

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C0.10370.1036–0.1038—1.000×
mbrotli0.020230.01954–0.02095—5.126×
Rust brotli1.7351.734–1.737—0.060×
Burli0.015430.01539–0.01551—6.720×

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.69160.6911–0.692360.671.000×
mbrotli0.87310.8722–0.874148.060.792×
Rust brotli3.4363.433–3.44112.210.201×
Burli0.58610.5846–0.587371.601.180×