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

   # Which issue does this PR close?
   
   - N/A. Split out of #11656, which uses these benchmarks.
   
   # Rationale for this change
   
   Extend the benchmarks for `MutableBuffer::extend` to cover more iterator 
shapes, and extend the `MutableArrayData` benchmarks to cover more data types. 
We also revise how data is generated for the `zip_kernels` and `mutable_array` 
benchmarks: the previous approach repeatedly passed the same input data to the 
functions on every iteration. This allows the branch predictor to do much 
better than it would on real-world data, which initially hid the ARM regression 
described above.
   
   These improvements are intended to evaluate #11656 more accurately.
   
   # What changes are included in this PR?
   
   - Add an arrow-buffer `mutable_buffer_extend` benchmark that appends 32Ki 
items, one `extend` call per chunk, with chunks of random length (16 or 1024 
items on average). It covers copied and mapped slices, an `i32` range, 
`repeat_n`, a `Chain` of two slices, and a `Filter`, whose size hint is not 
exact.
   - Add `Utf8View` and dictionary cases to `mutable_array`, with the existing 
long random slices and with slices of 1 to 8 rows. Every case now starts with 
room for all the rows it copies, so its time goes to the copies rather than to 
growing the buffers.
   - Cycle `zip_kernels`, `mutable_array` and `mutable_buffer_extend` through 
16 to 64 inputs instead of reusing one. Scalars and the constant masks stay the 
same, as they would across the batches of a query.
   
   # Are these changes tested?
   
   Benchmark-only change.
   
   # Are there any significant user-facing changes?
   
   No.
   
   # AI usage
   
   Claude Code (Opus 5.5), reviewed with Codex (Astra 6.1).


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