Avoid materializing constant structs for select - #9718
Conversation
Signed-off-by: Daniel King <dan@spiraldb.com>
Merging this PR will regress 2 benchmarks
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | WallTime | arrow_checked_add_u32_neon[16384] |
12.4 µs | 20.3 µs | -39.19% |
| ❌ | WallTime | mul_u32_nonnull_avx512 |
5.7 µs | 6.4 µs | -10.71% |
| ⚡ | WallTime | add_shapes_neon[(128, PerRowPerRow)] |
3.7 µs | 1.9 µs | +95.48% |
| ⚡ | WallTime | subtract_shapes_neon[(128, PerRowPerRow)] |
2.9 µs | 1.8 µs | +55.44% |
| ⚡ | WallTime | multiply_shapes_neon[(128, PerRowPerRow)] |
2.9 µs | 1.9 µs | +54.79% |
| ⚡ | Simulation | cached_indices_i32[0.01] |
51.6 µs | 37.7 µs | +36.77% |
| ⚡ | WallTime | arrow_checked_add_u32_avx512[16384] |
21.3 µs | 17.6 µs | +20.57% |
| ⚡ | WallTime | arrow_checked_add_u32_avx2[16384] |
21.3 µs | 17.7 µs | +20.35% |
| ⚡ | WallTime | add_u32_nonnull_neon |
7.9 µs | 6.6 µs | +20.35% |
| ⚡ | WallTime | add_shapes_neon[(16384, PerRowPerRow)] |
11.3 µs | 9.8 µs | +15.21% |
| ⚡ | WallTime | add_i32_nonnull_neon |
9 µs | 7.8 µs | +14.99% |
| ⚡ | WallTime | compare_int_nullable_neon |
5.6 µs | 4.9 µs | +14.92% |
| ⚡ | WallTime | add_i64_nonnull_neon |
11.3 µs | 9.8 µs | +14.72% |
| ⚡ | Simulation | cold_misaligned[(16, 64)] |
392.4 µs | 346.6 µs | +13.21% |
| ⚡ | WallTime | add_i64_nullable_neon |
12.8 µs | 11.5 µs | +11.36% |
| ⚡ | WallTime | compare_int_constant_neon |
4.4 µs | 4 µs | +10.73% |
| ⚡ | WallTime | mul_i32_nonnull_avx512 |
8 µs | 7.2 µs | +10.55% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing dk/select-constant-struct (515f9a5) with develop (a67cd1b)3
Footnotes
-
206 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. ↩
-
4 benchmarks were run, but are now archived. If they were deleted in another branch, consider rebasing to remove them from the report. Instead if they were added back, click here to restore them. ↩
-
No successful run was found on
develop(41da992) during the generation of this report, so a67cd1b was used instead as the comparison base. There might be some changes unrelated to this pull request in this report. ↩
Summary
Tests