Под Windows 7 (64 бит) я читаю 9000 файлов среднего размера. Всего более 200 МБ данных. Использование Java (JDK 1.6.21) Я перебираю файлы. Первые 1400 или около того идут на полной скорости, но затем скорость падает до 4 мс на файл. Оказывается, что основные расходы происходят просто при открытии файлов.
Я открываю файлы с помощью new FileInputStream
(и, конечно, закрываю их вовремя, чтобы избежать утечек файлов). После некоторых исследований я вижу, что дисковый кеш Windows использует только около 100 МБ ОЗУ, хотя у меня доступно 8 ГБ. Я попытался увеличить размер кэша с помощью инструмента CacheSet , но любые значения, которые я предоставляю, считаются вне диапазона.
Я также попытался включить раздел реестра LargeSystemCache
но (после перезагрузки) инструмент CacheSet
прежнему указывает, что я использую кэш-память объемом 100 МБ (и не увеличивается во время выполнения теста). Кто-нибудь есть какие-либо предложения, чтобы "поощрять" Windows 7 кешировать мои 9000 файлов?