c# - 为什么 Directory.GetFiles() 在后续运行中运行得更快?

标签 c# performance caching execution

我不太确定是什么原因造成的,所以如果我在搜索中找不到我需要的信息,请原谅我。这是一个例子:

假设我们有一个包含 1,000,000 个文件的文件夹。在上面运行 Directory.GetFiles() 需要几分钟时间。但是,立即再次运行它只需要几秒钟。为什么会这样?对象是否缓存在某处?如何用原来的时间运行?

最佳答案

硬盘驱动器具有内部缓存,有助于加快后续读取速度。尝试读取完全不同扇区中的一堆其他目录信息以清除缓存。

关于c# - 为什么 Directory.GetFiles() 在后续运行中运行得更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12519374/

相关文章:

java - Hibernate缓存更新机制

c# - 如何生成随机字母数字字符串?

c# - LINQ:where 子句中的可为 Null 的值类型

c# - 如何处理行为主体的异常

java - 将私有(private)实例的访问权限引入外部类的最佳方法

php - 为当天剩余时间缓存 PHP 脚本

c# - 可以在面向 .NET 3.5 的代码中使用可选参数吗?

wpf - 附加到 View 模型的命令太多导致 WPF 应用程序变慢

ajax - 如何减少/消除 AJAX 请求中的等待时间/延迟

javascript - 函数运行多次的结果是否会被缓存?