Repository navigation
Open
Labels
EPICA larger project, actively underway, with sub tasksA larger project, actively underway, with sub tasksenhancementNew feature or requestNew feature or request
Description
Is your feature request related to a problem or challenge?
As mentioned in #21165 having sql based benchmarking would make creating some types of benchmarks much easier and would remove the necessity of writing rust code just to benchmark some sql. It could also allow us to migrate away from manual benchmarking towards using criterion or Divan for running the benchmarks with proper statistics.
Describe the solution you'd like
I would suggest that we should take inspiration from DuckDB's benchmarking tool and create a similar solution for Datafusion.
Describe alternatives you've considered
Leave things as they are.
Additional context
Tasks
- Framework: Add SQL based benchmarking harness, port tpch to use framework #21707
- Port tpch benchmarks: Add SQL based benchmarking harness, port tpch to use framework #21707
- Port clickbench benchmarks: Add clickbench SQL benchmark #22633
- Port h2o benchmark: Add h2o SQL benchmark #22660
- Port hj benchmark: Add hj SQL benchmark #22802
- Port imdb benchmark: Add imdb SQL benchmark #22680
- Port smj benchmark: Add smj SQL benchmark #22803
- Port nlj benchmark: Add nlj SQL benchmark #22805
- Port tpcds benchmark: Add tpcds SQL benchmark #22801
- Port sort_pushdown: feat(benchmarks): add sql benchmark sort pushdown SQL suite #26245
- Add taxi benchmark
- Remove old
dfbenchrunner once benchmarks are migrated to the new SQL benchmark framework #24312 - Update
bench.shto use the newbenchmark_runner#24311 - Conslidate benchmark runner documentation #21935
- Consolidate benchmarking options/ENV settings #21936
- CLI (non criterion) interface for sql runner #21937
Reacted by Adrian Garcia Badaracco, Samyak Sarnayak, Kumar Ujjawal and Kosta Tarasov
Metadata
Metadata
Assignees
Labels
EPICA larger project, actively underway, with sub tasksA larger project, actively underway, with sub tasksenhancementNew feature or requestNew feature or request
Activity
Omega359 commentedon Apr 17, 2026
take
alamb commentedon Apr 29, 2026
I started adding a subtasks to this ticket so we (well really I) don't forget them
[-]feat: Add SQL based benchmarking[/-][+][EPIC] Add SQL based benchmarking[/+]alamb commentedon Apr 29, 2026
I filed a few more tickets
And relabeled this thing as an EPIC 🚀
Add SQL based benchmarking harness, port tpch to use framework (apach…
Add clickbench SQL benchmark (apache#22633)
Add imdb SQL benchmark (apache#22680)
Add h2o SQL benchmark (apache#22660)
Add tpcds SQL benchmark (apache#22801)
Add hj SQL benchmark (apache#22802)
add clickbench sorted SQL benchmark (apache#22807)
5 remaining items
Add hj SQL benchmark (apache#22802)
add clickbench sorted SQL benchmark (apache#22807)
Add nlj SQL benchmark (apache#22805)
Add clickbench extended SQL benchmark (apache#22804)
Add smj SQL benchmark (apache#22803)
Add sort tpch SQL benchmark (apache#22814)
Add support for running sql benchmarks with command line arguments (a…
Add support for running sql benchmarks with command line arguments (a…
Sql benchmark sync updated queries (apache#24583)
SQL benchmark configuration parity updates (apache#24778)
SQL benchmark configuration parity updates - apache#24778 2 (apache#…
Prepare SQL runner for native benchmark migration (apache#24806)
feat(benchmarks): enable Criterion automatically when a benchmark nam…
feat(benchmarks): add plan diagnostics to SQL benchmark runners (apac…
feat(benchmarks): add sql benchmark sort pushdown SQL suite (apache#2…