Por que Directory.GetFiles () é executado mais rapidamente em execuções subseqüentes?

Eu não tenho certeza do que causa isso, então, por favor, me perdoe se eu não conseguisse encontrar a informação que eu precisava em uma busca. Aqui está um exemplo:

Digamos que tenhamos uma pasta com 1.000.000 de arquivos. Correndo Directory.GetFiles () em que levará alguns minutos. No entanto, executá-lo novamente logo após levará apenas alguns segundos. Por que isso acontece? Os objetos estão sendo armazenados em algum lugar? Como posso executá-lo com o horário original?

questionAnswers(1)

yourAnswerToTheQuestion