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]
