У меня есть приложение Delphi, которое ссылается на файл данных из 28-байтовых записей. Файл записывается последовательно, но читается случайным образом. Файл данных разделен на N физических файлов, которые переворачиваются со скоростью примерно 10 мегабайт, чтобы обеспечить некоторую защиту от проблем с диском, и потому что мы только когда-либо записываем в самый последний, и я обнаружил, что запись становится медленнее и медленнее, если было разрешено расти до больших. При запуске я читаю весь набор файлов и строю индекс, чтобы я мог быстро узнать, какой файл искать, учитывая номер виртуальной записи.
В рамках разбиения на N файлов я реализовал кеш чтения. Теперь я понимаю, что Windows сама по себе достаточно кеширует, и мне интересно, получаю ли я что-нибудь, вставляя другой кеш между мной и файлами диска.
Любые мысли приветствуются.