Execute tensor L2 norm with RowFn - #9768
Conversation
Merging this PR will regress 8 benchmarks
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | Simulation | column_x_extension_constant[32] |
170.4 µs | 233.6 µs | -27.08% |
| ❌ | Simulation | column_x_extension_constant[256] |
414.5 µs | 562.3 µs | -26.29% |
| ❌ | Simulation | column_x_column[256] |
88.4 µs | 112.7 µs | -21.51% |
| ❌ | Simulation | column_x_column[32] |
93.9 µs | 117.4 µs | -19.98% |
| ❌ | Simulation | random_i16[0.95] |
77.3 µs | 95.7 µs | -19.22% |
| ❌ | Simulation | column_x_constant[256] |
591.1 µs | 710.5 µs | -16.8% |
| ❌ | Simulation | column_x_constant[32] |
392.7 µs | 447.5 µs | -12.23% |
| ❌ | Simulation | column_x_extension_constant[2] |
247.4 µs | 275.9 µs | -10.34% |
| ⚡ | WallTime | arrow_checked_add_u32_neon[16384] |
20.4 µs | 12.3 µs | +66.43% |
| ⚡ | Simulation | nullable[2] |
630 µs | 416.3 µs | +51.32% |
| ⚡ | Simulation | non_nullable[2] |
630.4 µs | 418.4 µs | +50.68% |
| ⚡ | Simulation | random_i8[0.5] |
91.3 µs | 67.9 µs | +34.48% |
| ⚡ | Simulation | allocate_drop_arrow[0] |
456.9 ns | 402.7 ns | +13.45% |
| ⚡ | WallTime | mul_u32_nonnull_avx512 |
6.3 µs | 5.6 µs | +12.16% |
| ⚡ | Simulation | allocate_drop_bytes[0] |
575.7 ns | 521.6 ns | +10.39% |
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-tensor-l2-v2 (c11ae04) with develop (35cd01f)2
Footnotes
-
218 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. ↩
-
No successful run was found on
develop(c93f5a9) during the generation of this report, so 35cd01f was used instead as the comparison base. There might be some changes unrelated to this pull request in this report. ↩
4edb768 to
c62de9b
Compare
6340306 to
857dc6c
Compare
9a33c5f to
5974184
Compare
5974184 to
929ae6d
Compare
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
929ae6d to
c11ae04
Compare
Summary
Moves
L2Normto the current RowFn API while preserving its direct arithmetic and null behavior.L2Normalizeremains on its handwritten one-pass implementation and is not part of this PR.Changes
Uses the shared tensor row input for ordinary columns and both constant representations. Tests cover constant encodings, empty and zero-width inputs, nulls, and bitwise agreement with materialized rows.