Define RowFn and RowVisitor - #9386
Conversation
Merging this PR will regress 1 benchmark
|
| 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)
Footnotes
-
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. ↩
5549426 to
be53543
Compare
be53543 to
83a8e70
Compare
83a8e70 to
87fc948
Compare
87fc948 to
0d24650
Compare
da08e03 to
1ff229d
Compare
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>
1ff229d to
56ca4a8
Compare
RowFn and RowVisitor
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Rationale for this change
RowFnAPI #9129RowFnover Vortex arrays #9130Defines the unstable author-facing
RowFncontracts. The execution backend is split into #9353.What changes are included in this PR?
Adds the
unstable_row_fnsfeature boundary,RowFnand visitor traits, typed input and output contracts, tuple adapters, planning, and the blanketScalarFnVTablescaffold.execute_rowsremains a temporary error until #9353 adds the backend.What APIs are changed? Are there any user-facing changes?
Adds
vortex_array::scalar_fn::unstable::rowbehind the non-defaultunstable_row_fnsfeature. The API has no compatibility guarantees.