Implement ZipKernel for ListViewArray#8218
Conversation
Signed-off-by: Robert Kruszewski <github@robertk.io>
Merging this PR will improve performance by 15.77%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | Simulation | bitwise_not_vortex_buffer_mut[128] |
246.1 ns | 275.3 ns | -10.6% |
| ⚡ | Simulation | baseline_eq[4, 65536] |
237.9 µs | 185 µs | +28.58% |
| ⚡ | Simulation | baseline_lt[16, 65536] |
275.5 µs | 217.5 µs | +26.67% |
| ⚡ | Simulation | baseline_lt[4, 65536] |
253.2 µs | 200.8 µs | +26.04% |
| ⚡ | Simulation | baseline_eq[16, 65536] |
260.5 µs | 229.9 µs | +13.3% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing rk/ziplist (0ef7569) with develop (84a4a3f)
| // SAFETY: the loop runs exactly `len` times and both buffers reserved `len`. | ||
| unsafe { | ||
| if mask.value(i) { | ||
| offsets.push_unchecked(true_offsets[i]); |
There was a problem hiding this comment.
i think a mut iterator for the output might be faster?
danking
left a comment
There was a problem hiding this comment.
I am convinced that Rob's latest commit addresses all four review comments.
This can be very cheap with ListViews and ends up being very sad because we use
a builder by default