Repository navigation
refactor(array): make the list_contains haystack a lookup array - #10499
robert3005 wants to merge 4 commits into
Performance Regression: -16.27%
4 warnings
⚠️ Walltime results may be unreliableSome benchmarks used the Walltime instrument outside CodSpeed Macro Runners, which can make the results inconsistent.
⚠️ Unable to measure the execution of 1 benchmarkThis 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.
⚠️ 22 benchmarks are dominated by system callsSystem 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.
⚠️ Base and head ran on different runner typesSome 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.
⚡ 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)
Footnotes
-
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. ↩