Execute spatial distance with RowFn - #9349
Conversation
Merging this PR will regress 1 benchmark
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | WallTime | words_gather_scalar[65536] |
8.3 µs | 9.4 µs | -11.93% |
| ⚡ | Simulation | nullable_point_column_x_constant_point |
758.3 µs | 666 µs | +13.85% |
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-spatial-distance (8f44a47) with ct/row-fn-tensor-products (5f4a145)
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. ↩
fadcf1d to
46c63e4
Compare
46c63e4 to
450326d
Compare
788ce5f to
bba41db
Compare
|
Here are the local spatial-distance benchmark results from the final Rust 1.97.1 run. The comparison used a The machine was an AMD Ryzen 9 7950X running Linux. The build used rustc 1.97.1, LLVM 22.1.6, one CGU, fat LTO, and Negative changes are faster. The values are medians across the seven paired runs. The three ordinary distance cases remain within 2.65%. The nullable column-by-constant case improves by 13.85%. All spatial-distance results: 4 cases
|
bba41db to
1ef5b2a
Compare
1ef5b2a to
37eb0be
Compare
37eb0be to
949e266
Compare
949e266 to
268574a
Compare
e5fcac1 to
b297e14
Compare
b297e14 to
e62daf9
Compare
e62daf9 to
29bc76d
Compare
29bc76d to
0a1ca9b
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>
0a1ca9b to
8f44a47
Compare
Rationale for this change
Moves spatial distance to the shared row executor. Each geometry column decodes once per batch, and a constant operand remains one decoded geometry.
What changes are included in this PR?
Adds the crate-private
GeometryRowinput element and expresses distance as a two-row kernel. Tests cover both constant positions, nullable inputs, mixed geometry types, and exact distance behavior.Rust 1.97.1 one-CGU fat-LTO measurements keep the ordinary distance cases within 2.7% of
develop; the nullable column-by-constant case improves by 13.9%.What APIs are changed? Are there any user-facing changes?
There are no public API or behavior changes.
SpatialDistanceimplementsRowFnand receives the standard scalar-function vtable automatically.