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

   # Which issue does this PR close?
   
   Related to #11129. This benchmark contribution does not resolve the decoder 
initialization question.
   
   # Rationale for this change
   
   The IPC reader benchmark covers uncompressed and ZSTD streams but lacks LZ4 
coverage.
   
   # What changes are included in this PR?
   
   Add a mixed-type LZ4 reader case and fixed-size binary cases with matching 
uncompressed controls. Each iteration reads ten batches with validation enabled.
   
   The controls use 1,024 rows and 262,144 value bytes per batch. One column 
encodes two buffers, including a 128-byte validity bitmap. Sixteen columns 
encode 32 buffers, including 2,048 bitmap bytes. Total decoded buffer bytes are 
262,272 and 264,192, respectively, excluding IPC prefixes and padding.
   
   Criterion reports time per ten batches. These workloads can measure 
sensitivity to column and buffer counts, but cannot isolate decoder 
initialization or zero-fill costs.
   
   Fixture setup verifies decoded batch equality outside the timed loop. 
Fixed-size binary fixtures require compression of every nonempty buffer. The 
mixed fixture permits uncompressed fallback and requires some compressed 
buffers.
   
   # Are these changes tested?
   
   All five new cases passed Criterion's functional test mode with `lz4,zstd`. 
The existing uncompressed case and both new controls also passed with no 
default features.
   
   Formatting and targeted Clippy passed:
   
   ```text
   cargo clippy -p arrow-ipc --features lz4,zstd --bench ipc_reader --locked 
--offline --no-deps -- -D warnings
   ```
   
   Validation used Rust 1.95.0 on aarch64 macOS. Dependency-inclusive Clippy 
reports four existing warnings in unchanged `arrow-data/src/data.rs`. No 
performance improvement is claimed.
   
   # Are there any user-facing changes?
   
   No library or API changes.
   
   AI assistance generated the benchmark additions and helped review the 
changes.
   


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