Skip to content

Move RunEnd into vortex-array - #10703

Merged
mhk197 merged 4 commits into
developfrom
mk/runend-into-vortex-array
Oct 27, 2026
Merged

mhk197 merged 4 commits into
developfrom
mk/runend-into-vortex-array

Conversation

@mhk197

@mhk197 mhk197 commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Moves the vortex-runend crate into vortex-array as vortex_array::arrays::runend, the same way vortex-dict moved in #5289. Once RunEnd is built in, vortex-array code can build run-end arrays itself. One example is spreading a captured outer value across each list's elements in list_transform (#10702).

Changes

  • RunEnd is now a built-in, like Dict. It is registered in ArraySession::default, in the default kernel session, and in AggregateFnSession::default (min_max, is_constant, is_sorted, sum).
  • The vortex-runend crate is removed. vortex::encodings::runend still re-exports the module.
  • The benches move to vortex-array/benches/run_end_*. CodSpeed picks them up in the array builders shard.

@mhk197 mhk197 added the changelog/break A breaking API change label Oct 22, 2026
@github-actions
github-actions Bot temporarily deployed to docs-preview/pr-10703 October 22, 2026 19:49 Inactive
@codspeed

codspeed Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Merging this PR will regress 3 benchmarks

3 warnings, 1 note

⚠️ Walltime results may be unreliable

Some benchmarks used the Walltime instrument outside CodSpeed Macro Runners, which can make the results inconsistent.

Learn more about Macro Runners

See affected benchmarks

⚠️ Unable to measure the execution of 2 benchmarks

These benchmarks measured no execution time, so their results are not comparable and count as unchanged. This usually happens when the compiler removes the code under test.

Prevent compiler optimizations

See affected benchmarks

⚠️ 22 benchmarks are dominated by system calls

System calls cannot be simulated consistently and are left out of the measure. The reported value understates the real cost. Switch to the Walltime instrument to measure them.

Learn more about system calls

See affected benchmarks

ℹ️ 40 benchmarks have no flamegraph

The flamegraph wasn't generated: the symbols of the profiling trace could not be resolved, because no information about the language frames was collected.

See affected benchmarks

⚡ 12 improved benchmarks
❌ 3 regressed benchmarks
✅ 2270 untouched benchmarks
🆕 154 new benchmarks
⏩ 166 skipped benchmarks1
🗄️ 43 archived benchmarks run2

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
❌ Walltime threshold_neon[8] 1.4 µs 2.5 µs -45.72%
❌ CPU Simulation bench_compare_primitive[(10000, 32)] 66.2 µs 91.2 µs -27.4%
❌ Walltime threshold_neon[64] 2.6 µs 3.5 µs -25.36%
⚡ CPU Simulation bench_compare_varbin[(10000, 128)] 98.8 µs 70.2 µs +40.74%
⚡ CPU Simulation bench_compare_varbin[(50000, 2)] 163.2 µs 122.9 µs +32.77%
⚡ CPU Simulation encode_primitives[f32, (1000, 2)] 145.1 µs 117.9 µs +23.07%
⚡ CPU Simulation bench_compare_varbin[(50000, 4)] 163.4 µs 133.6 µs +22.29%
⚡ CPU Simulation bench_compare_varbin[(50000, 32)] 164.4 µs 134.8 µs +21.97%
⚡ CPU Simulation bench_compare_varbin[(50000, 8)] 163.9 µs 134.6 µs +21.83%
⚡ CPU Simulation bench_compare_varbin[(50000, 128)] 166.5 µs 136.7 µs +21.8%
⚡ CPU Simulation bench_compare_sliced_dict_varbinview[(7500, 10000)] 228.5 µs 193 µs +18.4%
⚡ CPU Simulation bench_compare_sliced_dict_varbinview[(10000, 10000)] 234.8 µs 199.2 µs +17.89%
⚡ CPU Simulation bench_compare_varbin[(50000, 512)] 215.8 µs 186.1 µs +15.94%
⚡ CPU Simulation bench_compare_sliced_dict_varbinview[(1000, 10000)] 91.7 µs 80.8 µs +13.48%
⚡ CPU Simulation bench_compare_sliced_dict_primitive[(2000, 10000)] 74 µs 67.1 µs +10.29%
🆕 CPU Simulation compress[(1000, 16)] N/A 94.9 µs N/A
🆕 CPU Simulation compress[(1000, 256)] N/A 91.2 µs N/A
🆕 CPU Simulation compress[(1000, 4)] N/A 108.3 µs N/A
🆕 CPU Simulation compress[(10000, 1024)] N/A 183.2 µs N/A
🆕 CPU Simulation compress[(10000, 16)] N/A 228.4 µs N/A
... ... ... ... ... ...

ℹ️ Only the first 20 benchmarks are displayed. Go to the app to view all benchmarks.

Tip

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


Comparing mk/runend-into-vortex-array (566ad93) with develop (a59294e)

Open in CodSpeed

Footnotes

  1. 166 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. ↩

  2. 43 benchmarks were run, but are now archived. If they were deleted in another branch, consider rebasing to remove them from the report. Instead if they were added back, click here to restore them. ↩

@mhk197
mhk197 marked this pull request as ready for review October 23, 2026 14:10

@joseph-isaacs joseph-isaacs 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.

🔢

@mhk197
mhk197 force-pushed the mk/runend-into-vortex-array branch from 099b7a5 to 87e9ad2 Compare October 26, 2026 13:45
@github-actions
github-actions Bot temporarily deployed to docs-preview/pr-10703 October 26, 2026 13:55 Inactive
@github-actions
github-actions Bot temporarily deployed to docs-preview/pr-10703 October 26, 2026 14:07 Inactive
@mhk197
mhk197 force-pushed the mk/runend-into-vortex-array branch from 8aedc58 to af50e09 Compare October 26, 2026 14:38
@github-actions
github-actions Bot temporarily deployed to docs-preview/pr-10703 October 26, 2026 14:48 Inactive
@mhk197
mhk197 force-pushed the mk/runend-into-vortex-array branch from af50e09 to 11be22d Compare October 26, 2026 16:40
@github-actions
github-actions Bot temporarily deployed to docs-preview/pr-10703 October 26, 2026 16:51 Inactive
@mhk197
mhk197 force-pushed the mk/runend-into-vortex-array branch from 11be22d to 6624256 Compare October 26, 2026 17:43
@github-actions
github-actions Bot temporarily deployed to docs-preview/pr-10703 October 26, 2026 17:53 Inactive
Signed-off-by: Matt Katz <mhkatz97@gmail.com>
Signed-off-by: Matt Katz <mhkatz97@gmail.com>
Signed-off-by: Matt Katz <mhkatz97@gmail.com>
Signed-off-by: Matt Katz <mhkatz97@gmail.com>
@mhk197
mhk197 force-pushed the mk/runend-into-vortex-array branch from 6624256 to 566ad93 Compare October 27, 2026 10:32
@github-actions
github-actions Bot temporarily deployed to docs-preview/pr-10703 October 27, 2026 10:42 Inactive
@mhk197
mhk197 merged commit db0c700 into develop Oct 27, 2026
84 of 85 checks passed
@mhk197
mhk197 deleted the mk/runend-into-vortex-array branch October 27, 2026 11:00

This branch was previously deployed

1 inactive deployment
docs-preview/pr-10703 — 566ad934 Deployed Oct 27, 2026 by github-actions[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/break A breaking API change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants