andygrove opened a new pull request, #4926:
URL: https://github.com/apache/datafusion-comet/pull/4926
> This PR was created by an LLM as a draft PR. I will mark it as ready for
review after human review.
## Which issue does this PR close?
N/A — autonomous exploratory PR.
## Rationale for this change
Decimal ceil now uses 64-bit hardware division for values/divisors that fit
in i64 instead of the 128-bit division intrinsic, and the per-element rounding
closure is monomorphized rather than called through a `&dyn Fn` vtable.
## What changes are included in this PR?
Decimal ceil now uses 64-bit hardware division for values/divisors that fit
in i64 instead of the 128-bit division intrinsic, and the per-element rounding
closure is monomorphized rather than called through a `&dyn Fn` vtable.
## How are these changes tested?
Correctness: unit tests + seeded differential fuzz (bit-identical Arrow
output vs `main`).
Benchmark (criterion):
- ceil_decimal_18_4: 68.795% faster (base 23908ns -> cand 7460ns)
- ceil_decimal_38_6: -2.613% faster (base 37323ns -> cand 38298ns)
Full criterion output:
```text
ceil/ceil_decimal_18_4 time: [7.3997 µs 7.4042 µs 7.4101 µs]
change: [−68.905% −68.795% −68.675%] (p = 0.00 <
0.05)
Performance has improved.
Found 16 outliers among 100 measurements (16.00%)
4 (4.00%) high mild
12 (12.00%) high severe
ceil/ceil_decimal_38_6 time: [38.243 µs 38.268 µs 38.302 µs]
change: [+2.4580% +2.6128% +2.7361%] (p = 0.00 <
0.05)
Performance has regressed.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severe
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]