Optimize list_contains with prepared constant sets - #10052
robert3005 wants to merge 10 commits into
7 benchmarks regressed
⚠️ Unknown Walltime execution environment detected
Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.
For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.
⚠️ Different runtime environments detected
Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.
⚡ 4 improved benchmarks
❌ 7 regressed benchmarks
✅ 2055 untouched benchmarks
⏩ 503 skipped benchmarks1
Warning
Please fix the performance issues or acknowledge them on CodSpeed.
Performance Changes
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | WallTime | dict_canonicalize_gt_u8_avx512[1000000] |
422.7 µs | 836.6 µs | -49.47% |
| ❌ | Simulation | optimize_lookup_predicate[ids=192, shape=in_list] |
49.9 µs | 75.9 µs | -34.2% |
| ❌ | Simulation | optimize_lookup_predicate[ids=128, shape=in_list] |
50.6 µs | 73.2 µs | -30.92% |
| ❌ | Simulation | optimize_lookup_predicate[ids=64, shape=in_list] |
50.4 µs | 70.6 µs | -28.6% |
| ❌ | Simulation | optimize_lookup_predicate[ids=16, shape=in_list] |
51.2 µs | 69.5 µs | -26.23% |
| ❌ | Simulation | optimize_lookup_predicate[ids=256, shape=in_list] |
79.1 µs | 105.3 µs | -24.9% |
| ❌ | Simulation | optimize_lookup_predicate[ids=1, shape=in_list] |
74.4 µs | 89.9 µs | -17.25% |
| ⚡ | Simulation | i64_random_chunked[256] |
20,802.2 µs | 232 µs | ×90 |
| ⚡ | Simulation | i64_random[256] |
5,685.6 µs | 134.9 µs | ×42 |
| ⚡ | Simulation | utf8_random[256] |
14,403.7 µs | 371.7 µs | ×39 |
| ⚡ | Simulation | nested_list_random[32] |
7.4 ms | 1 ms | ×7.2 |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing claude/friendly-knuth-dj6ed1-list-contains (77467d3) with rk/list-contains-benchmarks (27f94c1)
Footnotes
-
503 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. ↩