Skip to content

ListArray::reset_offsets doesn't need to revalidate array after reset#8781

Merged
robert3005 merged 2 commits into
developfrom
rk/resetunchecked
Jul 16, 2026
Merged

ListArray::reset_offsets doesn't need to revalidate array after reset#8781
robert3005 merged 2 commits into
developfrom
rk/resetunchecked

Conversation

@robert3005

Copy link
Copy Markdown
Contributor

Reset offsets operations if they start from a valid array they should stay valid

Signed-off-by: Robert Kruszewski <github@robertk.io>
@codspeed-hq

codspeed-hq Bot commented Jul 16, 2026

Copy link
Copy Markdown

Merging this PR will improve performance by 20.02%

⚡ 16 improved benchmarks
✅ 1644 untouched benchmarks
⏩ 47 skipped benchmarks1

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation take_filter_list_random_mask_sequential_indices[768, 50] 132.8 µs 93.7 µs +41.73%
Simulation take_filter_list_random_mask_sequential_indices[256, 50] 134 µs 96 µs +39.51%
Simulation list_sum_small 144.5 µs 108 µs +33.79%
Simulation list_i32_large 212.7 µs 171.2 µs +24.22%
Simulation take_filter_list_slice_mask_sequential_indices[768, 50] 116.3 µs 93.8 µs +24.03%
Simulation take_filter_list_slice_mask_sequential_indices[256, 50] 115.4 µs 94 µs +22.75%
Simulation take_filter_list_slice_mask_random_indices[256, 50] 136.4 µs 118.6 µs +15.03%
Simulation take_filter_list_slice_mask_random_indices[768, 50] 136.7 µs 119.2 µs +14.67%
Simulation take_filter_list_random_mask_random_indices[256, 50] 140.1 µs 122.2 µs +14.63%
Simulation take_filter_list_random_mask_random_indices[768, 50] 144 µs 125.9 µs +14.4%
Simulation take_filter_list_small_random_mask_random_indices[768, 10] 137 µs 119.9 µs +14.23%
Simulation take_filter_list_small_uncached_random_mask_random_indices[256, 10] 133.5 µs 117 µs +14.11%
Simulation take_filter_list_small_random_mask_random_indices[256, 10] 132.6 µs 116.4 µs +13.93%
Simulation take_filter_list_small_uncached_random_mask_random_indices[768, 10] 136.8 µs 120.2 µs +13.86%
Simulation take_filter_list_nullable_random_mask_random_indices[256, 50] 145.6 µs 129.3 µs +12.67%
Simulation take_filter_list_nullable_random_mask_random_indices[768, 50] 150.5 µs 133.8 µs +12.51%

Tip

Curious why this is faster? Comment @codspeedbot explain why this is faster on this PR, or directly use the CodSpeed MCP with your agent.


Comparing rk/resetunchecked (676c05b) with develop (f47bf54)

Open in CodSpeed

Footnotes

  1. 47 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.

@robert3005 robert3005 added the changelog/performance A performance improvement label Jul 16, 2026
@robert3005 robert3005 enabled auto-merge (squash) July 16, 2026 00:30
Comment thread vortex-array/src/arrays/list/array.rs
Comment thread vortex-array/src/arrays/list/array.rs
Signed-off-by: Robert Kruszewski <github@robertk.io>
@robert3005 robert3005 merged commit 159207e into develop Jul 16, 2026
71 checks passed
@robert3005 robert3005 deleted the rk/resetunchecked branch July 16, 2026 01:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/performance A performance improvement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants