73b7feeb0f
Adds `bench_blob_prefetch` (behind the `bench` feature) to measure the local backend's chunk read-ahead depth — the `buffered(N)` read-ahead in DedupService::stream_chunks fed by BlobStorageBackend::read_prefetch(). The bench reproduces the exact production reassembly combinator over a real LocalBlobBackend (chunk files scattered across the 256 hash-prefix dirs) and sweeps the prefetch depth under the two axes that decide whether read-ahead helps on local disk: - consumer speed: unthrottled (disk-bound) vs throttled@MB/s (network-bound) - page cache: warm vs cold (posix_fadvise DONTNEED, Linux best-effort) N=1 is current production; higher N is the candidate change. Lets us verify gains/regressions empirically before changing read_prefetch(), since the trait doc deliberately defaults local to 1. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JG5yYZ9s868mJwqT2Qz7ez