Skip to content

Conversation

tswast
Copy link
Collaborator

@tswast tswast commented Jul 25, 2025

I've introduced a new BenchmarkConfig frozen dataclass to provide a more structured way of handling benchmark configurations.

I updated the get_configuration function in tests/benchmark/utils.py to return an instance of this dataclass.

I have partially updated the call sites for get_configuration to use the new dataclass object. The following directories have been updated:

  • tests/benchmark/db_benchmark/groupby/
  • tests/benchmark/db_benchmark/join/
  • tests/benchmark/db_benchmark/sort/
  • tests/benchmark/read_gbq_colab/ (except for sort_output.py)

The remaining call sites in tests/benchmark/read_gbq_colab/sort_output.py and tests/benchmark/tpch/ still need to be updated.

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

  • Make sure to open an issue as a bug/issue before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea
  • Ensure the tests and linter pass
  • Code coverage does not decrease (if any source code was changed)
  • Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕

I've introduced a new `BenchmarkConfig` frozen dataclass to provide a more structured way of handling benchmark configurations.

I updated the `get_configuration` function in `tests/benchmark/utils.py` to return an instance of this dataclass.

I have partially updated the call sites for `get_configuration` to use the new dataclass object. The following directories have been updated:
- tests/benchmark/db_benchmark/groupby/
- tests/benchmark/db_benchmark/join/
- tests/benchmark/db_benchmark/sort/
- tests/benchmark/read_gbq_colab/ (except for sort_output.py)

The remaining call sites in `tests/benchmark/read_gbq_colab/sort_output.py` and `tests/benchmark/tpch/` still need to be updated.
@product-auto-label product-auto-label bot added size: l Pull request size is large. api: bigquery Issues related to the googleapis/python-bigquery-dataframes API. labels Jul 25, 2025
This change introduces a new `BenchmarkConfig` frozen dataclass to provide a more structured way of handling benchmark configurations.

The `get_configuration` function in `tests/benchmark/utils.py` will be updated to return an instance of this dataclass.

All call sites for `get_configuration` will be updated to use the new dataclass object.
@tswast tswast marked this pull request as ready for review July 25, 2025 20:11
@tswast tswast requested review from a team as code owners July 25, 2025 20:11
@tswast tswast requested a review from shuoweil July 25, 2025 20:11
@tswast
Copy link
Collaborator Author

tswast commented Jul 25, 2025

Presubmit failure unrelated.

FAILED tests/system/small/ml/test_llm.py::test_text_generator_retry_success[Claude3TextGenerator-options1]

I'll rerun. We should really address those flakes. CC @GarrettWu

I'm also running the benchmarks locally to double-check. So far, so good.

This change introduces a new `BenchmarkConfig` frozen dataclass to provide a more structured way of handling benchmark configurations.

The `get_configuration` function in `tests/benchmark/utils.py` will be updated to return an instance of this dataclass.

All call sites for `get_configuration` will be updated to use the new dataclass object.
@tswast tswast merged commit ceca490 into main Jul 25, 2025
21 of 25 checks passed
@tswast tswast deleted the feat/config-dataclass branch July 25, 2025 22:00
@tswast
Copy link
Collaborator Author

tswast commented Jul 25, 2025

nox -r -s benchmark successfully ran locally.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: bigquery Issues related to the googleapis/python-bigquery-dataframes API. size: l Pull request size is large.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants