sunchao opened a new pull request, #11346:
URL: https://github.com/apache/arrow-rs/pull/11346

   # Which issue does this PR close?
   
   Benchmark coverage for #7184 and the discussion on #11279; does not close 
either issue.
   
   # Rationale for this change
   
   The existing interleave benchmarks do not isolate the cost of compacting 
byte views after selection. Reviewing an owned-copy operation also needs 
controls for repeated source ranges and for sparse selections from arrays with 
many backing buffers.
   
   This benchmark-only companion to #11279 adds the existing `interleave` and 
`interleave` followed by `gc()` paths first, as requested by the contributor 
guide. It changes no kernel implementation and makes no performance improvement 
claim.
   
   # What changes are included in this PR?
   
   Add 42 deterministic workloads to `arrow/benches/interleave_kernels.rs`: 
four sources of 8,192 rows, selections of 512 or 8,192 rows, and string lengths 
of 13-20, 20-60, or 100-400 bytes. Layouts cover unique selections, seeded 
random selections with replacement, fragmented buffers, repeated indices, 
shared source ranges, and sliced nullable arrays with inline values.
   
   Six additional cases within that total keep the source rows and selected 
values fixed while varying the total number of source buffers from 4 to 4,096 
to 32,768, selecting either 3 or 32 rows. Input construction runs outside the 
measured loop. A shared fixture module lets the proposed compact implementation 
use identical inputs in #11279.
   
   # Are these changes tested?
   
   With Rust 1.98.1 and the unchanged repository lockfile:
   
   - Release benchmark compilation passed.
   - All 84 new Criterion benchmark smoke cases passed.
   - Formatting and diff whitespace checks passed.
   
   # Are there any user-facing changes?
   
   No. Benchmark coverage only.
   
   AI assistance: Codex generated the fixtures and benchmark additions, which 
were source-reviewed and compiled locally.
   


-- 
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]

Reply via email to