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]
