unicode-rs/unicode-segmentation: −57.1% on its benchmarks, slower on other inputs
REGRESSED
not sent upstream
HEADLINE
−57.1%
cumulative over three criterion benchmarks · 2.33× on those benchmarks
REGRESSION
slower
Non-ASCII unicode_words got up to 7.7% slower when re-measured on current upstream on 2026-11-03. The benchmarks missed this.
before → after
bar length is relative to the before valuethree criterion benchmarks−57.1%
what changed
An ASCII fast path for split_word_bounds gave −90.53% on the one benchmark that can take it. The other kept change inlined the word_category lookup chain, with −7.44% on its best benchmark.
6 experiments
2
kept
2
discarded
2
failed
note — four experiments tested real ideas, and the report counts two more as failed. The run also found three defects in the harness, all since fixed. A slowdown on any real input counts as a failed optimization, so this run is marked regressed.
how it was measured
- tool
criterion- rounds
- 6 rounds per side, sample size 10
- verdict rule
- KEEP needs p < 0.01667 on one benchmark and a geomean gain of at least 1%, with no regression past 5%.
LIMITS
Results hold only for the benchmarks a run measures. Inputs they do not cover can get slower. Check your hot paths before you merge.