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 0 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×
mbrotli3.059×
Rust brotli0.446×
Burli2.873×

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

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.15450.1541–0.1551271.551.000×
mbrotli0.022640.02181–0.023471,853.826.827×
Rust brotli1.8111.81–1.81223.170.085×
Burli0.034670.03448–0.034891,210.164.456×

binary-64k

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

3,369 compressed → 65,536 restored bytes; compressed / original: 5.141%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C35.8535.83–35.881,743.211.000×
mbrotli10.1110.1–10.126,180.743.546×
Rust brotli78.7878.73–78.82793.370.455×
Burli11.1711.16–11.185,595.613.210×

repeated-1m

1 MiB of repeated a bytes.

712 compressed → 1,048,576 restored bytes; compressed / original: 0.068%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C206.2206–206.54,848.701.000×
mbrotli45.5645.53–45.5921,949.934.527×
Rust brotli230.7230.2–231.34,334.880.894×
Burli46.6646.6–46.7221,432.984.420×

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.1682.167–2.1728,826.641.000×
mbrotli0.84280.842–0.843674,159.302.573×
Rust brotli35.8935.86–35.931,741.370.060×
Burli0.85480.8541–0.855673,117.622.536×

text-1m

Alice text repeated cyclically to 1 MiB.

190,491 compressed → 1,048,576 restored bytes; compressed / original: 18.167%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C902.8902.1–903.71,107.641.000×
mbrotli895894–8961,117.371.009×
Rust brotli1,2151,214–1,216823.170.743×
Burli938.5938–939.11,065.510.962×

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 C39.9239.9–39.9525,048.141.000×
mbrotli15.9715.95–15.9962,628.722.500×
Rust brotli91.5191.22–91.8510,927.830.436×
Burli15.9915.97–1662,555.462.497×

alice29

Vendored Alice in Wonderland text.

65,795 compressed → 152,089 restored bytes; compressed / original: 43.261%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C289.9289.6–290.2500.371.000×
mbrotli304.4304.2–304.5476.560.952×
Rust brotli426.8426.3–427.5339.820.679×
Burli330.1329.8–330.3439.440.878×

empty

Empty input; measures API overhead.

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

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C0.1010.1008–0.1011—1.000×
mbrotli0.020240.01956–0.02094—4.989×
Rust brotli1.7421.74–1.745—0.058×
Burli0.015430.01538–0.01552—6.545×