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