От чего зависит скорость кеша? - PullRequest
0 голосов
/ 07 мая 2011

У меня есть программа, которая читает из файла и выполняет операции над ним (подсчет частот слов) .... У меня есть 4 разных размера файла, я получаю скорость кеширования для всех, кроме самой большойПочему самый большой файл запускается только на скорости диска, независимо от того, сколько раз я его запускаю?Ограничивает ли использование кеша слишком много памяти?Большой файл 27 ГБ.Бег по окнам.Это кеширование файлов, а не кэширование процессора

1 Ответ

1 голос
/ 07 мая 2011

Кэш == память. Не хватает памяти, вы исчерпали кеш. Если у вас есть файл, который больше, чем размер кэша, и вы просматриваете его через потоковую передачу, это как если бы у вас почти не было кэша вообще. Кэширование помогает только при повторном чтении данных, оно не влияет на первый раз.

Если файл больше памяти, то при попытке его повторного использования в памяти никогда не останется исходного файла, поэтому кеш в этом случае практически не имеет значения. Другая темная сторона заключается в том, что когда вы делаете это, вы вполне можете потерять кеш всех других небольших файлов, к которым система часто обращается и которые больше не кэшируются. Поэтому перезагрузка и восстановление скорости могут занять немного больше времени.

...