Skip to content

Add PiecewiseSequence take microbenchmarks#8830

Draft
danking wants to merge 2 commits into
codex/piecewise-sequential-run-take-consumersfrom
codex/piecewise-sequence-benchmarks
Draft

Add PiecewiseSequence take microbenchmarks#8830
danking wants to merge 2 commits into
codex/piecewise-sequential-run-take-consumersfrom
codex/piecewise-sequence-benchmarks

Conversation

@danking

@danking danking commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

@robert3005 I'm not sure if you want to check these in. These are what I used to reason about various ways to copy slices of data from one spot in memory to another.

Summary

  • add piecewise_sequence_take_primitive to compare constant-length PiecewiseSequence take against dense lengths and reifying constant lengths
  • add take_slices_to_buffer_matrix to compare extend/cursor-copy loops with and without preverification plus unchecked slicing

Validation

  • cargo +nightly fmt --all
  • cargo clippy -p vortex-array --all-targets --all-features -- -D warnings
  • cargo bench -p vortex-array --bench piecewise_sequence_take_primitive
  • cargo bench -p vortex-array --bench take_slices_to_buffer_matrix

@danking
danking force-pushed the codex/piecewise-sequence-benchmarks branch from 18df62f to 04a21ec Compare July 17, 2026 19:12
@danking
danking force-pushed the codex/piecewise-sequential-run-take-consumers branch from 9adf56d to c4a0358 Compare July 17, 2026 19:40
@danking
danking force-pushed the codex/piecewise-sequence-benchmarks branch from 0906157 to f5c8555 Compare July 17, 2026 19:40
@danking
danking force-pushed the codex/piecewise-sequential-run-take-consumers branch 2 times, most recently from 80f7b89 to 30870aa Compare July 17, 2026 20:19
@danking danking added the changelog/chore A trivial change label Jul 17, 2026
@danking
danking force-pushed the codex/piecewise-sequential-run-take-consumers branch from 30870aa to e777ab4 Compare July 17, 2026 20:25
@danking
danking force-pushed the codex/piecewise-sequence-benchmarks branch from f5c8555 to b59c45f Compare July 17, 2026 20:33
@danking
danking requested a review from robert3005 July 17, 2026 20:37
@danking
danking force-pushed the codex/piecewise-sequential-run-take-consumers branch from e777ab4 to e4a0543 Compare July 17, 2026 20:37
danking added 2 commits July 17, 2026 16:40
Signed-off-by: Daniel King <dan@spiraldb.com>
Signed-off-by: Daniel King <dan@spiraldb.com>
@danking
danking force-pushed the codex/piecewise-sequence-benchmarks branch from b59c45f to 388d234 Compare July 17, 2026 20:41
@robert3005

Copy link
Copy Markdown
Contributor

I think we want benchmarks. I came up with the long term solution in #8825 and we have to make sure we don't regress

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/chore A trivial change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants