CLCK0622 opened a new pull request, #26380:
URL: https://github.com/apache/datafusion/pull/26380

   ## Which issue does this PR close?
   
   N/A — benchmark coverage only. Related to #22655 and #26023.
   
   ## Rationale for this change
   
   The existing `gcd` benchmarks cover Int64 inputs. Add coverage for the 
separate Decimal128 evaluation path for future performance comparisons.
   
   ## What changes are included in this PR?
   
   - Add Decimal128(20, 2) array/array, array/scalar, and scalar/scalar 
Criterion cases.
   - Generate both arrays from one seeded RNG, following #26023, and use 
distinct scalar operands.
   - Use 100,000 rows for array cases and one row for scalar/scalar; check 
output type, length, null count, and known values before timing.
   
   The existing Int64 cases are unchanged. Their row-count metadata and error 
messages are tracked separately in #26297.
   
   ## What is the testing strategy for this PR?
   
   Validated on Apple M4, 24 GiB RAM, macOS 26.5.1, rustc 1.99.0 (`b940084d7`, 
aarch64-apple-darwin), with four build jobs and incremental compilation 
disabled:
   
   - `cargo build -p datafusion-functions --benches`
   - `cargo bench -p datafusion-functions --bench math_expressions -- "gcd 
decimal128"`
   - `cargo fmt --check`
   - `cargo clippy -p datafusion-functions --benches`
   
   All four commands and the benchmark's pre-timing checks passed; clippy 
reported no warnings.
   
   Criterion results (optimized bench profile, 100 samples, 3-second warm-up, 
5-second measurement target):
   
   | Case | Rows per invocation | Time estimate | 95% confidence interval |
   |---|---:|---:|---:|
   | array/array | 100,000 | 3.2584 ms | 3.2527–3.2655 ms |
   | array/scalar | 100,000 | 3.0956 ms | 3.0886–3.1033 ms |
   | scalar/scalar | 1 | 253.57 ns | 253.14–254.01 ns |
   
   These are absolute measurements, with no optimization claim. The full test 
suite, all-feature clippy, and full repository lint script were not run. No 
functional test file was added because only benchmarks change.
   
   ## Are there any user-facing changes?
   
   No. This only extends benchmark coverage.
   
   AI assistance: OpenAI Codex helped draft the benchmark code and this 
description.
   


-- 
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]

Reply via email to