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