I left the readahead in the main loop because we don't need to repeat the dropbehind. However, storing the cached entry variables before unlocking the map was only done once before. I don't think this was important to the algorithm nor is it especially expensive.