Repository navigation
Add bounded decimal dispatch macros and migrate kernels - #10314
joseph-isaacs wants to merge 1 commit into
Conversation
Merging this PR will degrade performance by 46.67%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | WallTime | dict_canonicalize_gt_u8_neon[1000000] |
51.3 µs | 488.2 µs | -89.5% |
| ❌ | WallTime | dict_canonicalize_gt_u8_avx512[1000000] |
55.9 µs | 422.2 µs | -86.76% |
| ❌ | WallTime | dict_canonicalize_gt_u8_avx2[1000000] |
56.5 µs | 422.2 µs | -86.62% |
| ❌ | Simulation | decode_primitives[u8, (2000, 8)] |
33.9 µs | 43.7 µs | -22.56% |
| ❌ | Simulation | decode_primitives[u8, (2000, 4)] |
33.9 µs | 43.7 µs | -22.56% |
| ❌ | Simulation | decode_primitives[u8, (2000, 2)] |
33.9 µs | 43.7 µs | -22.56% |
| ❌ | Simulation | decode_primitives[u8, (1000, 2)] |
32.3 µs | 36.8 µs | -12.19% |
| ❌ | Simulation | decode_primitives[u8, (1000, 8)] |
31.9 µs | 36.3 µs | -12.06% |
| ❌ | Simulation | decode_primitives[u8, (1000, 4)] |
31.9 µs | 36.3 µs | -12.06% |
| ⚡ | Simulation | density_sweep_dense_runs[0.9] |
55.4 µs | 17.4 µs | ×3.2 |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing ji/decimal-dispatch-macros (4eab00a) with ji/decimal-storage-contract (ec2b1b5)2
Footnotes
-
524 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
ji/decimal-storage-contract(51de229) during the generation of this report, so 353400a was used instead as the comparison base. There might be some changes unrelated to this pull request in this report. ↩
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
e4cea19 to
4eab00a
Compare
|
This PR has been marked as stale because it has been open for 14 days with no activity. Please comment or remove the stale label if you wish to keep it active, otherwise it will be closed in 7 days |
Decimal kernels can rely on the storage-width contract from #10305 to dispatch only input types no wider than their output or working type. Add bounded unary and binary dispatch macros and migrate decimal SUM, equality, and storage upcasts.
match_decimal_unary!(input, output, |In, Out| { ... })instantiates 21 widening/equal-width combinations instead of 36.match_decimal_binary!(left, right, output, |Left, Right, Out| { ... })instantiates 91 combinations instead of 216.Stack 2/2: based on #10305 (
ji/decimal-storage-contract). This PR contains the macros and kernel migrations; the storage semantics are in the parent PR.Validation: manually reviewed the split and updated all macro bindings, examples, and call sites to comma-separated syntax. Tests, builds, formatting, and linting were not run, per AGENTS.md's opt-in verification policy.