Skip to content

refactor(array): make the list_contains haystack a lookup array - #10499

Draft
robert3005 wants to merge 4 commits into
developfrom
rk/haystack-arrays
Draft

robert3005 wants to merge 4 commits into
developfrom
rk/haystack-arrays

refactor(array): build the prepared set's haystack from the list's el…

5038393
Select commit
Loading
Failed to load commit list.
CodSpeed / CodSpeed Performance Analysis failed Oct 25, 2026 in 0s

Performance Regression: -16.27%

4 warnings

⚠️ Walltime results may be unreliable

Some benchmarks used the Walltime instrument outside CodSpeed Macro Runners, which can make the results inconsistent.

Learn more about Macro Runners

See affected benchmarks

⚠️ Unable to measure the execution of 1 benchmark

This benchmark measured no execution time, so its result is not comparable and counts as unchanged. This usually happens when the compiler removes the code under test.

Prevent compiler optimizations

See affected benchmarks

⚠️ 22 benchmarks are dominated by system calls

System calls cannot be simulated consistently and are left out of the measure. The reported value understates the real cost. Switch to the Walltime instrument to measure them.

Learn more about system calls

See affected benchmarks

⚠️ Base and head ran on different runner types

Some benchmarks with significant performance changes were compared across different runner types, so the changes might not come from the code. Run base and head on the same runner type, or use CodSpeed Macro Runners for more stable results.

Learn more about Macro Runners

Open the report in CodSpeed to investigate

⚡ 7 improved benchmarks
❌ 14 regressed benchmarks
✅ 2387 untouched benchmarks
⏩ 12 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
❌ Walltime threshold_neon[8] 1.4 µs 2.8 µs -50.95%
❌ Walltime filter_neon[8] 889 ns 1,790 ns -50.34%
❌ Walltime mul_u64_nonnull_neon 21 µs 39.4 µs -46.71%
❌ Walltime threshold_neon[64] 2.6 µs 4.5 µs -41.41%
❌ Walltime filter_neon[64] 1.7 µs 2.9 µs -40.75%
❌ CPU Simulation chunked_dict_primitive_canonical_into[f64, (1000, 1000, 10)] 151.9 µs 206.9 µs -26.58%
❌ CPU Simulation bench_compare_primitive[(10000, 32)] 72.9 µs 96.3 µs -24.36%
❌ Walltime filter_neon[80] 2.6 µs 3.3 µs -22.63%
❌ Walltime threshold_neon[80] 3.5 µs 4.6 µs -22.62%
❌ CPU Simulation filter_powerlaw_by_mostly_false[250000] 138.7 µs 158.5 µs -12.47%
❌ CPU Simulation filter_random_by_mostly_false[250000] 163.1 µs 183.7 µs -11.19%
❌ CPU Simulation filter_powerlaw_by_power_law[250000] 166.1 µs 185.3 µs -10.35%
❌ CPU Simulation filter_random_by_power_law[250000] 166 µs 185.1 µs -10.32%
❌ CPU Simulation density_sweep_dense_runs[0.001] 53.5 µs 59.4 µs -10.02%
⚡ CPU Simulation i64_random[256] 173 µs 136 µs +27.25%
⚡ CPU Simulation i64_random_chunked[256] 223.8 µs 179.3 µs +24.78%
⚡ CPU Simulation utf8_random[256] 414.8 µs 351.8 µs +17.93%
⚡ Walltime bitpack_blocked_compress_avx2 7.6 µs 6.8 µs +11.8%
⚡ Walltime add_constant_shapes_neon[(32768, PerRowConstant)] 16.1 µs 14.4 µs +11.57%
⚡ Walltime words_gather_dispatch_neon[65536] 2 µs 1.8 µs +10.69%
... ... ... ... ... ...

ℹ️ Only the first 20 benchmarks are displayed. Go to the app to view all benchmarks.

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing rk/haystack-arrays (5038393) with develop (910f993)

Open in CodSpeed

Footnotes

  1. 12 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩