Skip to content

Port PiecewiseSequence run-take consumers#8802

Draft
danking wants to merge 9 commits into
codex/piecewise-sequential-takefrom
codex/piecewise-sequential-run-take-consumers
Draft

Port PiecewiseSequence run-take consumers#8802
danking wants to merge 9 commits into
codex/piecewise-sequential-takefrom
codex/piecewise-sequential-run-take-consumers

Conversation

@danking

@danking danking commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add Extension TakeReduce so take can push through extension storage during reduce
  • fast-path List.take(PiecewiseSequence) by rebuilding list offsets and taking contiguous child element ranges when multipliers is a constant unsigned 1
  • restore the large-list ListView rebuild path using PiecewiseSequence child indices with multiplier 1 instead of list-by-list rebuild

Validation

  • cargo fmt -p vortex-array
  • cargo test -p vortex-array piecewise_sequence
  • cargo test -p vortex-array piecewise_sequence_take
  • cargo test -p vortex-array test_rebuild_flatten_large_lists_with_piecewise_indices
  • cargo check -p vortex-array
  • cargo check -p vortex-array --benches
  • git diff --check

@codspeed-hq

codspeed-hq Bot commented Jul 16, 2026

Copy link
Copy Markdown

Merging this PR will regress 2 benchmarks

⚡ 4 improved benchmarks
❌ 2 regressed benchmarks
✅ 1792 untouched benchmarks
⏩ 52 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation copy_nullable[65536] 1 ms 1.4 ms -24.24%
Simulation copy_non_nullable[65536] 908.9 µs 1,089.5 µs -16.57%
Simulation struct_large 431.9 µs 39.1 µs ×11
Simulation fsl_large 615.7 µs 89.2 µs ×6.9
Simulation list_i32_large 172.8 µs 107.8 µs +60.32%
Simulation i32_large 277.8 µs 238 µs +16.71%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing codex/piecewise-sequential-run-take-consumers (490e9db) with codex/piecewise-sequential-take (c94c4ef)

Open in CodSpeed

Footnotes

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

@danking
danking force-pushed the codex/piecewise-sequential-take branch from 01e95cb to eb83451 Compare July 16, 2026 19:19
@danking
danking force-pushed the codex/piecewise-sequential-run-take-consumers branch from 4272937 to 02adf44 Compare July 16, 2026 19:23
@danking danking changed the title Port PiecewiseSequential run-take consumers Port PiecewiseSequence run-take consumers Jul 16, 2026
@danking
danking force-pushed the codex/piecewise-sequential-take branch from eb83451 to e79ec4b Compare July 16, 2026 20:29
@danking
danking force-pushed the codex/piecewise-sequential-run-take-consumers branch 2 times, most recently from 4ff991e to de4a71f Compare July 16, 2026 20:36
@danking
danking force-pushed the codex/piecewise-sequential-take branch from b615895 to 6dcc52a Compare July 16, 2026 23:41
@danking
danking force-pushed the codex/piecewise-sequential-run-take-consumers branch from 12a04f6 to 6280163 Compare July 16, 2026 23:52
@danking danking added the changelog/performance A performance improvement label Jul 16, 2026
@danking
danking force-pushed the codex/piecewise-sequential-take branch from 6dcc52a to a2cbdf0 Compare July 17, 2026 00:15
@danking
danking force-pushed the codex/piecewise-sequential-run-take-consumers branch from 6280163 to 71c3d0e Compare July 17, 2026 00:16
@danking
danking force-pushed the codex/piecewise-sequential-take branch from a2cbdf0 to d694338 Compare July 17, 2026 00:17
@danking
danking force-pushed the codex/piecewise-sequential-run-take-consumers branch 10 times, most recently from 30870aa to e777ab4 Compare July 17, 2026 20:25
danking added 7 commits July 17, 2026 16:36
Signed-off-by: Daniel King <dan@spiraldb.com>
Signed-off-by: Daniel King <dan@spiraldb.com>
Signed-off-by: Daniel King <dan@spiraldb.com>
Signed-off-by: Daniel King <dan@spiraldb.com>
Signed-off-by: Daniel King <dan@spiraldb.com>
Signed-off-by: Daniel King <dan@spiraldb.com>
Signed-off-by: Daniel King <dan@spiraldb.com>
Signed-off-by: Daniel King <dan@spiraldb.com>
@danking
danking force-pushed the codex/piecewise-sequential-run-take-consumers branch from e777ab4 to e4a0543 Compare July 17, 2026 20:37
Signed-off-by: Daniel King <dan@spiraldb.com>
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.

1 participant