Files
tantivy/src
Pascal Seitz ef13489d63 skip hard_bounds that can't exclude any value
When a histogram's hard_bounds are wider than the column's value range, the
per-doc `bounds.contains` check can never fail. Collapse such bounds to the
unbounded sentinel in `normalize_histogram_req`, so both the general histogram
hot loop and the fused term×histogram path skip the check — the latter then
derives per-term counts from the grid (the ~17% win) instead of falling back to
per-doc counting just because `bounds != [MIN, MAX]`.

Only the collect-time filter is affected: empty-bucket emission reads
`req.hard_bounds` directly, and hard_bounds only ever clips that range, so a
wider-than-data bound leaves results unchanged. Covered by new tests on the
general and fused paths, including mid-interval (bucket-splitting) bounds.

Also tighten the fused-path u32-overflow guard to bound on `num_vals()` (the
per-value increment count) rather than `num_docs()`, and document why the fused
collector's hot-loop fields are hoisted into locals (re-reading them from memory
each iteration measured ~15% slower).
2026-06-16 21:23:23 +08:00
..
2026-06-01 14:39:44 +02:00
2026-03-18 17:28:59 +01:00
2026-06-01 14:39:44 +02:00
2026-03-18 17:28:59 +01:00
2025-10-23 10:23:34 +02:00
2025-07-02 11:25:03 +02:00
2026-01-02 12:40:42 +01:00
2026-01-27 09:22:11 +01:00
2026-06-01 14:39:44 +02:00
2026-03-18 17:28:59 +01:00
2025-12-01 15:38:57 +01:00
2025-12-01 12:15:41 +01:00
2024-10-22 09:26:54 +08:00