Skip to content

Define RowFn and RowVisitor - #9386

Merged
joseph-isaacs merged 9 commits into
developfrom
ct/row-fn-types
Aug 14, 2026
Merged

Define RowFn and RowVisitor#9386
joseph-isaacs merged 9 commits into
developfrom
ct/row-fn-types

Conversation

@connortsui20

@connortsui20 connortsui20 commented Aug 12, 2026

Copy link
Copy Markdown
Member

Rationale for this change

Defines the unstable author-facing RowFn contracts. The execution backend is split into #9353.

What changes are included in this PR?

Adds the unstable_row_fns feature boundary, RowFn and visitor traits, typed input and output contracts, tuple adapters, planning, and the blanket ScalarFnVTable scaffold. execute_rows remains a temporary error until #9353 adds the backend.

What APIs are changed? Are there any user-facing changes?

Adds vortex_array::scalar_fn::unstable::row behind the non-default unstable_row_fns feature. The API has no compatibility guarantees.

@codspeed-hq

codspeed-hq Bot commented Aug 12, 2026

Copy link
Copy Markdown

Merging this PR will regress 1 benchmark

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

⚡ 5 improved benchmarks
❌ 1 regressed benchmark
✅ 1988 untouched benchmarks
⏩ 89 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
WallTime words_gather_scalar[65536] 8.3 µs 9.4 µs -12.04%
Simulation take[small_m/shuffled/primitive/nonnull/chunks=1024/indices=256] 2.2 ms 1.9 ms +14.99%
Simulation take[small_m/shuffled/primitive/nonnull/chunks=1024/indices=1000] 5.7 ms 5 ms +14.5%
Simulation take[small_m/shuffled/primitive/nonnull/chunks=16384/indices=1000] 9.6 ms 8.5 ms +13.85%
Simulation take[small_m/shuffled/primitive/nonnull/chunks=16384/indices=256] 3.2 ms 2.9 ms +10.49%
WallTime words_gather_dispatch[1024] 33 ns 30 ns +10%

Tip

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


Comparing ct/row-fn-types (06a86d9) with develop (1a493b6)

Open in CodSpeed

Footnotes

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

@connortsui20 connortsui20 added the changelog/feature A new feature label Aug 12, 2026
@connortsui20
connortsui20 marked this pull request as ready for review August 12, 2026 19:08
@connortsui20
connortsui20 marked this pull request as draft August 12, 2026 19:24
@connortsui20
connortsui20 marked this pull request as ready for review August 12, 2026 19:25
@connortsui20
connortsui20 marked this pull request as draft August 12, 2026 20:26
@connortsui20
connortsui20 marked this pull request as ready for review August 12, 2026 23:50
Comment thread vortex-array/src/scalar_fn/unstable/row/types/element/input.rs Outdated
Comment thread vortex-array/src/scalar_fn/unstable/row/types/sink.rs Outdated
Comment thread vortex-array/src/scalar_fn/unstable/row/types/sink.rs Outdated
Comment thread vortex-array/src/scalar_fn/unstable/row/types/sink.rs Outdated
Comment thread vortex-array/src/scalar_fn/unstable/row/visitor/plan.rs
Comment thread vortex-array/src/scalar_fn/unstable/row/visitor/plan.rs Outdated
Comment thread vortex-array/src/scalar_fn/unstable/row/visitor/plan.rs
Comment thread vortex-array/src/scalar_fn/unstable/row/row_fn.rs Outdated
Comment thread vortex-array/src/scalar_fn/unstable/row/mod.rs
@connortsui20
connortsui20 force-pushed the ct/row-fn-types branch 3 times, most recently from da08e03 to 1ff229d Compare August 13, 2026 18:24
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
@connortsui20 connortsui20 changed the title Define experimental RowFn contracts Define RowFn and RowVisitor Aug 13, 2026
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
@joseph-isaacs
joseph-isaacs merged commit 9a584e4 into develop Aug 14, 2026
80 of 81 checks passed
@joseph-isaacs
joseph-isaacs deleted the ct/row-fn-types branch August 14, 2026 09:36
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.

2 participants