Не grep как таковой, но сама файловая система часто кэши недавно считывают данные, заставляя более поздние выполнения пойти быстрее, так как grep эффективно ищет в памяти вместо диска.
Linux и *ОТКЛОНЯЕТ системы, используют различные кэши, которые находятся между файловыми системами (абстрагированный через VFS) и процессы уровня пользователя. Таким образом, это не grep, и это не файловая система, делающая кэширование - это - операционная система.
Кэш, который ответственен за Вашу grep производительность, является Кэш-буфером VFS. Другие кэши для inodes и каталогов, но они не играли бы роли здесь.
Поскольку больше информации видит: Проект Документации Linux: 9.2 Виртуальная файловая система http://tldp.org/LDP/tlk/fs/filesystem.html
/usr/include
занял ~16.4 секунд в моей системе со всеми отброшенными кэшами. Со всем кэшируемым, приблизительно 0,3 секунды. Если я отбрасываю просто кэш страницы (который содержит кэш-буфер), требуется ~14.3 секунд. Если я оставляю кэш страницы и отбрасываю dentry/inode кэши, это - приблизительно 12 секунд.
– mattdm
09.03.2011, 18:07