Skip to content

Support nullary RowFn execution - #9469

Open
connortsui20 wants to merge 1 commit into
developfrom
ct/row-fn-nullary
Open

Support nullary RowFn execution#9469
connortsui20 wants to merge 1 commit into
developfrom
ct/row-fn-nullary

Conversation

@connortsui20

@connortsui20 connortsui20 commented Aug 18, 2026

Copy link
Copy Markdown
Member

Rationale for this change

Keeps nullary execution separate from the numeric-kernel executor path.

What changes are included in this PR?

Executes a nullary row kernel once for the requested row count, then validates and returns its output. Nullary kernels bypass batch validity handling because they have no input validity to propagate.

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

Adds nullary execution within the existing unstable RowFn boundary. There are no stable API changes.

@codspeed-hq

codspeed-hq Bot commented Aug 18, 2026

Copy link
Copy Markdown

Merging this PR will degrade performance by 10.52%

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

❌ 1 regressed benchmark
✅ 1980 untouched benchmarks
⏩ 442 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation compress_fsst[(500, 64, 4)] 462.4 µs 516.8 µs -10.52%

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-nullary (a9cfe2f) with develop (46a8d39)

Open in CodSpeed

Footnotes

  1. 442 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 force-pushed the ct/row-fn-nullary branch 2 times, most recently from 8a3022a to ee75317 Compare August 19, 2026 21:49
@connortsui20
connortsui20 force-pushed the ct/row-fn-benchmark-tools branch from 0eb4a5c to 9e2b1d6 Compare August 19, 2026 21:49
connortsui20 added a commit that referenced this pull request Aug 20, 2026
## Rationale for this change

- Stacked on: #9496
- Tracking issue: #9130
- API tracking: #9129
- Epic: #9128

Connects the row execution layer to the scalar-function adapter.

## What changes are included in this PR?

Adds constant handling, strict validity propagation, dense execution,
direct valid-row execution for supporting sinks, and output validation.
A partially valid signature that cannot execute directly on valid rows
panics in this layer.

Encoding-aware reductions remain in #9347. Filter-and-scatter remains in
#9349. Owned valid-row execution and its `Default` bound are in #9500.
Nullary execution is in #9469.

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

Adds execution internals within the existing `unstable_row_fns`
boundary. There are no stable API changes.

---------

Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor@spiraldb.com>
@connortsui20
connortsui20 force-pushed the ct/row-fn-benchmark-tools branch from 9e2b1d6 to 85ac485 Compare August 20, 2026 14:01
@connortsui20
connortsui20 force-pushed the ct/row-fn-benchmark-tools branch from 85ac485 to c074eb1 Compare August 20, 2026 14:06
@connortsui20
connortsui20 force-pushed the ct/row-fn-benchmark-tools branch from c074eb1 to a3ebb9d Compare August 20, 2026 14:51
@connortsui20
connortsui20 force-pushed the ct/row-fn-benchmark-tools branch from a3ebb9d to c9b53b4 Compare August 20, 2026 18:41
@connortsui20
connortsui20 changed the base branch from ct/row-fn-benchmark-tools to develop August 20, 2026 18:42
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
@connortsui20 connortsui20 added the changelog/feature A new feature label Aug 20, 2026
@connortsui20
connortsui20 marked this pull request as ready for review August 20, 2026 20:24
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.

1 participant