Skip to content

Implement ZipKernel for ListViewArray#8218

Merged
danking merged 3 commits into
developfrom
rk/ziplist
Jun 2, 2026
Merged

Implement ZipKernel for ListViewArray#8218
danking merged 3 commits into
developfrom
rk/ziplist

Conversation

@robert3005

Copy link
Copy Markdown
Contributor

This can be very cheap with ListViews and ends up being very sad because we use
a builder by default

Signed-off-by: Robert Kruszewski <github@robertk.io>
@robert3005 robert3005 added the changelog/feature A new feature label Jun 2, 2026
@codspeed-hq

codspeed-hq Bot commented Jun 2, 2026

Copy link
Copy Markdown

Merging this PR will improve performance by 15.77%

⚠️ 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.

⚡ 4 improved benchmarks
❌ 1 regressed benchmark
✅ 1270 untouched benchmarks

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

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)

Open in CodSpeed

Signed-off-by: Robert Kruszewski <github@robertk.io>
Comment thread vortex-array/src/arrays/listview/compute/zip.rs Outdated
Comment thread vortex-array/src/arrays/listview/compute/zip.rs Outdated
Comment thread vortex-array/src/arrays/listview/compute/zip.rs Outdated
// SAFETY: the loop runs exactly `len` times and both buffers reserved `len`.
unsafe {
if mask.value(i) {
offsets.push_unchecked(true_offsets[i]);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think a mut iterator for the output might be faster?

Comment thread vortex-array/src/arrays/listview/compute/zip.rs Outdated
Signed-off-by: Robert Kruszewski <github@robertk.io>

@danking danking left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am convinced that Rob's latest commit addresses all four review comments.

@danking danking merged commit 81046d7 into develop Jun 2, 2026
72 of 77 checks passed
@danking danking deleted the rk/ziplist branch June 2, 2026 19:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/feature A new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants