Commit 0365d3c
bench: add array_has array-needle benchmarks (#23335)
## Which issue does this PR close?
- Part of #23334.
## Rationale for this change
In order to correctly characterize a performance improvement for
array_has with column needle, needed more benchmark cover.
## What changes are included in this PR?
Adds criterion benchmarks for `array_has` with an **array (column)
needle** — the path through `array_has_dispatch_for_array`, with no
functional change.
Groups added in `datafusion/functions-nested/benches/array_has.rs`:
- `array_has_array_i64` / `array_has_array_strings` — found / not-found
over list sizes 10/100/500.
- `array_has_array_null_patterns` — null patterns at list length 64: for
i64, no nulls (found + not found) / 30% nulls found / 30% nulls not
found / all null / null-fill collision; for Utf8, LargeUtf8, and
Utf8View, no-nulls / 30% nulls at both short (inline, ≤ 12 byte) and
long (> 12 byte, shared-prefix) element lengths, plus all-null.
- `array_has_array_by_size` — i64, 30% element nulls, not found, list
length 8..1024.
- `array_has_array_by_rows` — i64, 8 elems/row, 30% nulls, not found,
10K / 100K / 1M rows.
## Are these changes tested?
no functional change here
## Are there any user-facing changes?
no
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>1 parent 34200e4 commit 0365d3c
1 file changed
Lines changed: 374 additions & 1 deletion
0 commit comments