alamb opened a new pull request, #23650: URL: https://github.com/apache/datafusion/pull/23650
## Which issue does this PR close? - Follow-up to #23646 (adds FixedSizeBinary support for MultiGroupBy). Related to #23645. ## Rationale for this change The `multi_group_by` benchmark exercises the vectorized `GroupValuesColumn` path against the row-based `GroupValuesRows` fallback, but every experiment uses `Int32` columns only. #23646 adds a `FixedSizeBinaryGroupValueBuilder` so that a GROUP BY on a `FixedSizeBinary` column now uses the columnar path instead of falling back to `GroupValuesRows`. There was no benchmark covering that new builder, so there was no easy way to measure the win. ## What changes are included in this PR? Adds a `fixed_size_binary` experiment to `datafusion/physical-plan/benches/multi_group_by.rs` that groups on a `(FixedSizeBinary(16), Int32)` key (UUID-sized binary + an int), sweeping group cardinality from 64 to 1,000,000 and comparing: - `vectorized` — `GroupValuesColumn` (the columnar path, using the new builder) - `row_based` — `GroupValuesRows` (the previous fallback) Run with: ```bash cargo bench -p datafusion-physical-plan --bench multi_group_by -- fixed_size_binary ``` > [!NOTE] > The new `fixed_size_binary` group depends on the `FixedSizeBinary` support in > #23646. It compiles on `main` (so CI is unaffected), but the `vectorized` > variant will panic at runtime until #23646 lands, because > `GroupValuesColumn::try_new` currently rejects a `FixedSizeBinary` schema. > The intent is to merge this first and then run the benchmark on the #23646 > branch. The other experiments in this file are unaffected. ## Are these changes tested? This is benchmark-only. The benchmark compiles on `main` and runs end-to-end on top of #23646. No product code changes. ## Are there any user-facing changes? No. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
