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]

Reply via email to