+
+ | Exact range |
+ Read exactly the requested ranges |
+ Minimum over-read and buffering |
+ Potentially many requests |
+
+
+ | Request coalescing |
+ Merge adjacent or nearby ranges |
+ Fewer physical requests |
+ Extra bytes and buffering |
+
+
+ | Read-ahead |
+ Extend requested ranges and retain unused bytes |
+ Fewer future stalls and more cache hits |
+ More bandwidth and memory |
+
+
+ | Full-file cache |
+ Fetch the file once and return zero-copy slices |
+ Zero-copy hits on subsequent requests (models a buffer manager or hot cache) |
+ Buffers the entire file |
+
+
+