Dandandan opened a new pull request, #777:
URL: https://github.com/apache/arrow-rs-object-store/pull/777

   `LocalFileSystem::get_ranges` issued one read per range. This coalesces 
contiguous/overlapping ranges into a single read, collapsing many adjacent 
ranges into far fewer syscalls.
   
   - Uses a coalesce gap of **0** (vs the 1 MiB network default), so we never 
read bytes that weren't requested — important for a page-cache-backed file 
where an extra `pread` is cheap but wasted bytes are not.
   - A **fast path** skips the coalescing bookkeeping entirely when nothing 
merges, so disjoint/sparse workloads are unaffected.
   - Reuses `util::merge_ranges` (now `pub(crate)`) and the same slice-back 
logic as `coalesce_ranges`.
   
   On a warm-cache benchmark, many adjacent small ranges drop ~2.6× (e.g. 1024 
× 4 KiB contiguous: ~700 µs → ~260 µs); disjoint ranges are unchanged.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


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