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 7 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.574×
Rust brotli0.562×
Burli2.511×

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,580 compressed → 1,048,576 restored bytes; compressed / original: 4.824%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C691.9674.7–709.81,445.281.000×
mbrotli268.7268.3–2693,722.262.575×
Rust brotli838.5837.9–839.21,192.540.825×
Burli367366.5–367.42,725.061.885×

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.172.168–2.17128,804.191.000×
mbrotli0.84350.8426–0.844474,096.582.572×
Rust brotli35.4435.42–35.471,763.360.061×
Burli0.86510.8648–0.865472,248.232.508×

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.2440.17–40.3224,853.211.000×
mbrotli16.0416.02–16.0662,348.512.509×
Rust brotli94.5394.41–94.6310,578.930.426×
Burli16.0116–16.0262,459.592.513×

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.7334.71–34.751,799.591.000×
mbrotli8.7568.751–8.7617,137.993.966×
Rust brotli46.4446.38–46.511,345.730.748×
Burli8.4538.437–8.477,394.004.109×

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,226–1,229814.871.000×
mbrotli8.4868.476–8.497117,840.80144.613×
Rust brotli1,2631,262–1,264791.840.972×
Burli8.0478.044–8.051124,265.58152.498×

alice29

Vendored Alice in Wonderland text.

51,451 compressed → 152,089 restored bytes; compressed / original: 33.830%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C198.4197.9–199731.031.000×
mbrotli214.6214.4–214.9675.810.924×
Rust brotli283.9283.7–284.1510.840.699×
Burli278.2277.9–278.5521.410.713×

empty

Empty input; measures API overhead.

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

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C0.11270.1126–0.1128—1.000×
mbrotli0.020220.01954–0.02093—5.573×
Rust brotli1.7361.734–1.738—0.065×
Burli0.015440.01539–0.01552—7.300×

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.6950.6942–0.695860.381.000×
mbrotli0.87470.8736–0.875947.970.795×
Rust brotli3.4353.43–3.4412.220.202×
Burli0.58480.5838–0.585771.751.188×