Skip to content

feat(benchmarks): add standalone sort pushdown SQL suite - #26245

Draft
Omega359 wants to merge 6 commits into
apache:mainfrom
Omega359:sql-sort-pushdown-benchmarks
Draft

Omega359 wants to merge 6 commits into
apache:mainfrom
Omega359:sql-sort-pushdown-benchmarks

Conversation

@Omega359

@Omega359 Omega359 commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Depends on #26212; this branch includes its plan-diagnostics commits.

Which issue does this PR close?

Rationale for this change

Add the existing sort pushdown workloads to the SQL benchmark runner as a standalone suite.

What changes are included in this PR?

Add 30 cases across baseline, sorted, inexact, inexact_unsorted, and inexact_overlap, with suite metadata, table registration SQL, and usage documentation. The cases reference the existing query files and reuse the existing Parquet datasets.

The suite preserves the legacy ordering declarations, statistics collection, and inexact filter-pushdown settings. Data generation remains in the unchanged bench.sh; the legacy benchmark remains available. The known result-validation ordering issue is outside this change.

What is the testing strategy for this PR?

Compared the SQL and legacy runners on the same datasets using two rounds of five iterations per case, reversing runner order for the second round (600 timed executions). All row counts matched.

The sums of per-case median times differed by -0.6%, -0.1%, +4.4%, -3.9%, and -6.6% across the five subgroups, respectively. Focused rechecks resolved two timing outliers; sorted query 2 remained about 16% faster in the SQL runner at roughly 2 ms.

A separate verifier found matching physical plans for all 30 cases and correctly ordered outputs. Full-row fingerprints matched in 29 cases; overlap query 3 differed only in permitted ties at the LIMIT boundary. Original base-data checksums were unchanged.

Release builds, documentation formatting, and git diff --check passed.

Are there any user-facing changes?

The standalone suite is available from benchmarks/ with:

cargo run --release --bin benchmark_runner -- sort_pushdown --iterations 5

Use --subgroup and --query to select a variant and original query number.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant