Execute tensor L2 norm with RowFn - #9768
Conversation
Merging this PR will degrade performance by 14.26%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | Simulation | compress_alp[f64, (1000, 0.0, 1.0)] |
104.8 µs | 159 µs | -34.08% |
| ❌ | Simulation | compress_alp[f64, (1000, 0.0, 0.25)] |
114.3 µs | 168.2 µs | -32.05% |
| ❌ | Simulation | compress_alp[f64, (1000, 0.0, 0.95)] |
114.1 µs | 167.2 µs | -31.74% |
| ❌ | Simulation | compress_alp[f64, (1000, 0.1, 1.0)] |
150.6 µs | 211.9 µs | -28.91% |
| ❌ | Simulation | compress_alp[f64, (1000, 0.01, 1.0)] |
144.5 µs | 201.1 µs | -28.14% |
| ❌ | Simulation | alp_compress_f64 |
171.8 µs | 237.8 µs | -27.74% |
| ❌ | Simulation | compress_alp[f64, (1000, 0.01, 0.25)] |
155.2 µs | 211.9 µs | -26.73% |
| ❌ | Simulation | column_x_extension_constant[32] |
170.8 µs | 232.6 µs | -26.58% |
| ❌ | Simulation | compress_alp[f64, (1000, 0.1, 0.25)] |
168.9 µs | 228.9 µs | -26.22% |
| ❌ | Simulation | column_x_extension_constant[256] |
427.2 µs | 573.8 µs | -25.55% |
| ❌ | Simulation | compress_alp[f64, (1000, 0.1, 0.95)] |
177.7 µs | 237.3 µs | -25.12% |
| ❌ | Simulation | compress_alp[f64, (1000, 0.01, 0.95)] |
159.8 µs | 213.2 µs | -25.03% |
| ❌ | Simulation | column_x_column[256] |
88.9 µs | 112.1 µs | -20.74% |
| ❌ | Simulation | column_x_column[32] |
94.6 µs | 116.9 µs | -19.1% |
| ❌ | Simulation | compress_alp[f32, (1000, 0.0, 1.0)] |
51.6 µs | 63.4 µs | -18.51% |
| ❌ | Simulation | compress_alp[f32, (1000, 0.0, 0.25)] |
61 µs | 73.3 µs | -16.84% |
| ❌ | Simulation | compress_alp[f32, (1000, 0.0, 0.95)] |
61 µs | 73.1 µs | -16.63% |
| ❌ | Simulation | column_x_constant[256] |
622.7 µs | 742.4 µs | -16.13% |
| ❌ | Simulation | compress_alp[f64, (10000, 0.0, 1.0)] |
308 µs | 361 µs | -14.68% |
| ❌ | Simulation | compress_alp[f64, (10000, 0.0, 0.95)] |
318.3 µs | 370.9 µs | -14.18% |
| ... | ... | ... | ... | ... | ... |
ℹ️ 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 ct/row-fn-tensor-l2-v2 (929ae6d) with ct/row-fn-tensor-rows (5eba5b2)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
ct/row-fn-tensor-rows(6ca28c3) during the generation of this report, so 63d5d77 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
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
5974184 to
929ae6d
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.