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 1 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.196×
Rust brotli0.445×
Burli3.129×

mbrotli median speed / Burli: 1.020× (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.14890.1484–0.1495281.851.000×
mbrotli0.022490.02166–0.023341,865.556.619×
Rust brotli1.8441.842–1.84622.750.081×
Burli0.03470.03452–0.03491,209.374.291×

text-1m

Alice text repeated cyclically to 1 MiB.

138,777 compressed → 1,048,576 restored bytes; compressed / original: 13.235%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C795.2793.7–796.31,257.581.000×
mbrotli681.3680.9–681.81,467.701.167×
Rust brotli939.6938.6–940.91,064.310.846×
Burli747.8747.4–748.21,337.291.063×

binary-64k

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

3,202 compressed → 65,536 restored bytes; compressed / original: 4.886%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C35.3535.34–35.371,767.801.000×
mbrotli9.279.261–9.2816,741.993.814×
Rust brotli77.6977.61–77.78804.460.455×
Burli9.5459.54–9.556,547.743.704×

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.1772.176–2.17928,703.961.000×
mbrotli0.84430.8438–0.844974,023.092.579×
Rust brotli35.7835.72–35.841,746.900.061×
Burli0.85270.852–0.853573,298.502.554×

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.9939.94–40.0525,006.641.000×
mbrotli15.915.89–15.9262,881.562.515×
Rust brotli91.8991.59–92.2210,882.590.435×
Burli15.9715.94–16.0262,598.412.503×

alice29

Vendored Alice in Wonderland text.

60,292 compressed → 152,089 restored bytes; compressed / original: 39.643%.

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C268.5268.2–268.9540.141.000×
mbrotli281.7281.4–282514.890.953×
Rust brotli399.7399.5–399.9362.860.672×
Burli332.3331.8–332.9436.450.808×

empty

Empty input; measures API overhead.

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

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C0.11360.1135–0.1138—1.000×
mbrotli0.020240.01954–0.02095—5.614×
Rust brotli1.7351.734–1.737—0.065×
Burli0.015440.01539–0.01552—7.360×

repeated-1m

1 MiB of repeated a bytes.

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

DecoderMean µs95% mean interval µsDecoded MiB/sSpeed / C
Google C373.3372.8–373.82,678.881.000×
mbrotli32.4332.38–32.4830,839.3811.512×
Rust brotli234233.6–234.44,274.341.596×
Burli18.8118.79–18.8353,166.0319.846×