Sous Windows 7 (64 bits), je lis à travers 9000 fichiers de taille moyenne. Au total, il y a plus de 200 Mo de données. En utilisant Java (JDK 1.6.21) j'itère sur les fichiers. Les premiers 1400 environ vont à pleine vitesse, mais la vitesse tombe à 4 ms par fichier. Il s'avère que le coût principal est encouru simplement en ouvrant les fichiers.
J'ouvre les fichiers en utilisant new FileInputStream
(et bien sûr en les fermant à temps pour éviter les fuites de fichiers). Après quelques recherches, je constate que le cache disque de Windows n'utilise que 100 Mo ou plus de RAM bien que j'ai 8 Gio disponibles. J'ai essayé d'augmenter la taille du cache à l'aide de l' outil CacheSet mais toutes les valeurs que je fournis sont considérées comme hors plage .
J'ai également essayé d'activer la LargeSystemCache
clé de registre mais (après le redémarrage), l' CacheSet
outil indique toujours que j'utilise 100 Mo de cache (et n'augmente pas pendant le test). Quelqu'un at-il des suggestions pour "encourager" Windows 7 à mettre en cache mes fichiers 9000?