Skip to content

Conversation

@ZacBlanco
Copy link
Collaborator

This tool is useful for generating TPC-H data to run some of the benchmarks included with bolt

What problem does this PR solve?

There is a TPC-H benchmark tool, but it requires an existing TPC-H dataset. The codebase doesn't seem to provide an easy way to generate a TPC-H dataset.

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

Add a new executable which generates a set of TPC-H tables at a given scale factor. It re-uses existing TPC-H generation infrastrucutre, but just exposes it as an easy to use CLI interface so users can generate data. Then a benchmark executable like bolt_tpch_benchmark can be used and pointed to the data directory without having to generate the data another way.

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

Release Note:

Release Note:
- Add a user-friendly CLI tool to generate TPC-H data for benchmarks

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: ...)

This tool is useful for generating TPC-H data to run some of the
benchmarks included with bolt
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