Update `bench.sh` to use the new `benchmark_runner`
- Dominant language
- Rust
- Stars
- 9.3k
- Forks
- 2.4k
- Avg merge
- 3d 7h
- Merged PRs (30d)
- 344
Description
### Is your feature request related to a problem or challenge?
- Part of https://github.com/apache/datafusion/issues/21706
- Follow up to https://github.com/apache/datafusion/issues/21937
#21707 and follow on PRs (e.g. https://github.com/apache/datafusion/pull/23772) added a SQL based benchmark framework with a `benchmark_runner` binary that can run test suites (tpch, clickbench, h2o, imdb, tpcds, etc) either directly or via criterion.
However, `benchmarks/bench.sh` still runs the benchmarks through the old `dfbench` binary, so the two benchmarking paths coexist and we can't remove the old dfbench.
### Describe the solution you'd like
Update `bench.sh` to run benchmarks via the new SQL benchmark framework / `benchmark_runner` for the suites that have been ported, as described in https://github.com/apache/datafusion/issues/21937#issuecomment-4353678551.
### Describe alternatives you've considered
### Additional context
@Omega359 mentioned in https://github.com/apache/datafusion/issues/21937#issuecomment-5196560905 that they planned to file/work on this cleanup.
Contributor guide
Research direction
Start with benchmarks/bench.sh and inspect how it invokes the old dfbench binary. Read the benchmark_runner entry point and the suite mapping in issue #21937's linked comment, then compare the ported suites. Done means bench.sh uses benchmark_runner for every ported suite and no longer depends on the old path for those benchmarks.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- bash, rust
- Domain
- performance, tooling
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100