Skip to content

test: add local TPC-DS benchmark - #961

Merged
wangxinshuo-bolt merged 1 commit into
bytedance:mainfrom
kexianda:tpcds
Sep 9, 2026
Merged

wangxinshuo-bolt merged 1 commit into
bytedance:mainfrom
kexianda:tpcds

Conversation

@kexianda

@kexianda kexianda commented Sep 4, 2026 •

Copy link
Copy Markdown
Collaborator

Add a local Parquet-backed TPC-DS benchmark with support for all 103 query names and serialized Presto plans. Report task memory-pool peak bytes for each verbose query execution.

Add plan loading tests, expression deserialization compatibility, and a reproducible generator for the Q14, Q23, Q24, and Q39 a/b variants.

What problem does this PR solve?

Issue Number: close #959

Type of Change

  • 🐛 Bug fix (non-breaking change which fixes an issue)
  • ✨ New feature (non-breaking change which adds functionality)
  • 🚀 Performance improvement (optimization)
  • ⚠️ Breaking change (fix or feature that would cause existing functionality to change)
  • 🔨 Refactoring (no logic changes)
  • 🔧 Build/CI or Infrastructure changes
  • 📝 Documentation only

Description

The workflow has three inputs:

  1. Local Parquet data
  2. Serialized single-node Bolt plans
  3. The bolt_tpcds_benchmark executable

How to run tpcds benchmark:
_build/Release/bolt/benchmarks/tpcds/bolt_tpcds_benchmark
--bolt_benchmark_tpcds_data_path=/data/tpcds100
--bolt_benchmark_tpcds_plan_path=/tmp/BoltPlans/presto/tpcds/sf100/plans
--bolt_benchmark_tpcds_run_query=true
--bm_regex='q(1|2|14a)$'

Performance Impact

  • No Impact: This change does not affect the critical path (e.g., build system, doc, error handling).
  • Positive Impact: I have run benchmarks.
  • Negative Impact: Explained below (e.g., trade-off for correctness).

Release Note

Please describe the changes in this PR

Release Note:

Release Note:
- add TPCDS benchmark tool

Checklist (For Author)

  • I have added/updated unit tests (ctest).
  • I have verified the code with local build (Release/Debug).
  • I have run clang-format / linters.
  • (Optional) I have run Sanitizers (ASAN/TSAN) locally for complex C++ changes.
  • No need to test or manual test.

Breaking Changes

  • No
  • Yes (Description: ...)

Add a local Parquet-backed TPC-DS benchmark with support for all 103 query names and serialized Presto plans. Report task memory-pool peak bytes for each verbose query execution.

Add plan loading tests, expression deserialization compatibility, and a reproducible generator for the Q14, Q23, Q24, and Q39 a/b variants.
@wangxinshuo-bolt
wangxinshuo-bolt added this pull request to the merge queue Sep 9, 2026
Merged via the queue into bytedance:main with commit 846415e Sep 9, 2026
11 checks passed
iamlinjunhong pushed a commit to iamlinjunhong/bolt that referenced this pull request Oct 22, 2026
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.

[Chore] add TPCDS benchmark

2 participants