&gt; The reason for this is that our I&#x2F;O is unbuffered, and we were reading one byte at a time in order to read lines. This changed on December 24, by adding read buffering for reading lines, vastly improving the performance of rred.<p>Why not use memory mapped files and let the operating system deal with caching in a way that is most efficient for that specific case?