Skip to content

Review the RowFn prototype, merge develop, and apply the review findings - #9245

Merged
connortsui20 merged 1 commit into
ct/row-fnfrom
claude/epic-issue-review-ao7kip
Aug 6, 2026
Merged

Review the RowFn prototype, merge develop, and apply the review findings#9245
connortsui20 merged 1 commit into
ct/row-fnfrom
claude/epic-issue-review-ao7kip

Conversation

@connortsui20

@connortsui20 connortsui20 commented Aug 6, 2026

Copy link
Copy Markdown
Member

Progress towards #9128. Cleanup from a review of the RowFn API, the execution logic, and the scalar function implementations: deletes the InputElement::decode_null_tolerant overrides that only restated the default, shares resolve_validity between execute_filtered and the forced-strategy test seam, corrects the dense-retry comment, de-duplicates l2_norm_row into vortex-tensor/src/utils.rs, drops the now-callerless map_checked_into, and pins geo to =0.31.0 because contains_route transcribes its impl_contains_from_relate! dispatch table and a patch can reshuffle that with no API change. The author-facing API is unchanged: every proposal that would have altered it was backed out, and SCALAR_FN_HANDOFF.md records which ones and why.

The checked-arithmetic macro collapse this review also found is #9248 against develop instead, since develop carries the same duplication.

Checks
cargo test  -p vortex-array -p vortex-compute -p vortex-geo -p vortex-tensor   # 3838 passed, 0 failed
cargo clippy -p vortex-array -p vortex-compute -p vortex-geo -p vortex-tensor --all-targets --all-features
cargo +nightly fmt --all -- --check
RUSTDOCFLAGS="-D warnings" cargo doc --no-deps -p vortex-array -p vortex-compute -p vortex-geo -p vortex-tensor

The optimized IR of every visit_prepared_into monomorph is unchanged from the pre-review commit. Runtime benchmarks were not usable as a gate on this host, where repeated pinned runs of the same binary disagreed by up to 4x.

@connortsui20
connortsui20 force-pushed the claude/epic-issue-review-ao7kip branch from 2cfa807 to c139786 Compare August 6, 2026 17:57
@codspeed-hq

codspeed-hq Bot commented Aug 6, 2026

Copy link
Copy Markdown

Merging this PR will regress 42 benchmarks

⚡ 19 improved benchmarks
❌ 42 regressed benchmarks
✅ 1833 untouched benchmarks
🆕 62 new benchmarks
⏩ 82 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation take_chunked_fsl_sorted[32, 64] 565.7 µs 1,262.3 µs -55.18%
Simulation take_chunked_fsl_sorted[16, 64] 540.2 µs 887.7 µs -39.15%
Simulation take_fsl_chunked_elements_sorted[32, 64] 710.8 µs 1,066.5 µs -33.35%
Simulation take_fsl_chunked_elements_random[32, 64] 750.5 µs 1,063.5 µs -29.43%
Simulation take_chunked_fsl_sorted[8, 64] 520 µs 701 µs -25.82%
Simulation like_per_row_patterns 368.3 µs 491 µs -25%
Simulation multipolygon_random_nulls 943.5 µs 1,223.6 µs -22.89%
Simulation take_fsl_chunked_elements_sorted[16, 64] 505.8 µs 647.7 µs -21.9%
Simulation take_fsl_chunked_elements_random[16, 64] 523.9 µs 667 µs -21.46%
Simulation multipolygon_mixed_validity 1.2 ms 1.5 ms -18.84%
Simulation multipolygon_non_nullable 1.2 ms 1.5 ms -18.54%
Simulation list_sum_small 281.1 µs 337 µs -16.58%
Simulation take_filter_list_small_uncached_random_mask_random_indices[256, 10] 235 µs 277.5 µs -15.31%
Simulation nullable_polygons_90pct_x_constant_point 584.4 µs 689.1 µs -15.19%
Simulation take_fsl_chunked_elements_sorted[8, 64] 387.7 µs 456.4 µs -15.04%
Simulation constant_x_points 1.3 ms 1.6 ms -14.98%
Simulation take_fsl_chunked_elements_random[8, 64] 408.6 µs 479.9 µs -14.87%
Simulation take_filter_list_slice_mask_random_indices[256, 50] 239.2 µs 280.2 µs -14.64%
Simulation take_filter_list_slice_mask_random_indices[768, 50] 241 µs 282.1 µs -14.55%
Simulation constant_x_polygons_disjoint 1.4 ms 1.6 ms -14.5%
... ... ... ... ... ...

ℹ️ 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 claude/epic-issue-review-ao7kip (c139786) with develop (a1057db)2

Open in CodSpeed

Footnotes

  1. 82 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. No successful run was found on ct/row-fn (f430847) during the generation of this report, so develop (a1057db) was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

Cleanup, corrected documentation, and test coverage from a review of the
RowFn API, its execution logic, and the scalar function implementations.
The author-facing API is unchanged and every visit_prepared_into monomorph
emits identical IR to the pre-review commit.

Signed-off-by: Connor Tsui <connor@spiraldb.com>
@connortsui20
connortsui20 force-pushed the claude/epic-issue-review-ao7kip branch from c139786 to 75c4707 Compare August 6, 2026 18:38
@connortsui20
connortsui20 marked this pull request as ready for review August 6, 2026 20:30
@connortsui20
connortsui20 merged commit dfebd42 into ct/row-fn Aug 6, 2026
0 of 2 checks passed
@connortsui20
connortsui20 deleted the claude/epic-issue-review-ao7kip branch August 6, 2026 20:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants