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 LargeSystemCacheclé de registre mais (après le redémarrage), l' CacheSetoutil 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?