Xuanwo opened a new pull request, #23833: URL: https://github.com/apache/datafusion/pull/23833
## Which issue does this PR close? - Part of #318. - Umbrella PR: #23738. - Depends on #23830 (and transitively #23829 and #23828). ## Rationale for this change This is the benchmark layer of the ASOF JOIN stack. It keeps performance workloads separate from the execution, logical, and SQL implementation reviews. GitHub shows the cumulative stack because fork branches cannot be selected as upstream PR bases. The isolated diff for this layer is: https://github.com/Xuanwo/datafusion/compare/xuanwo/asof-sql...xuanwo/asof-benchmarks ## What changes are included in this PR? - Add a `dfbench asof` command with four end-to-end workloads: ordered predecessor, grouped predecessor with optimizer-inserted sort/repartition, wide payloads, and descending successor matching. - Stream output batches during timing instead of retaining result buffers. - Assert that each workload plans to `AsOfJoinExec`. - Add a physical Criterion benchmark for Int64, wide UTF-8, and dictionary payloads over pre-sorted inputs. ## Are these changes tested? Yes: - `cargo fmt --all` - `cargo clippy --all-targets --all-features -- -D warnings` - `cargo run -p datafusion-benchmarks --bin dfbench -- asof --iterations 1` - `cargo bench -p datafusion-physical-plan --bench asof_join --features test_utils -- --quick` - Extended workspace tests from the contributor guide The end-to-end smoke run returned the expected 1,000,000, 1,000,000, 250,000, and 500,000 rows. The Criterion smoke run completed all three payload cases. These debug/quick timings validate the harness and are not presented as performance claims. ## Are there any user-facing changes? This adds ASOF workloads to the repository benchmark tooling. It does not change query semantics or runtime behavior. This PR should be reviewed and merged after #23830. After its dependencies squash-merge, this branch will be refreshed from `main` without rewriting its published history. -- 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]
