为什么第一次运行 grep 比连续运行慢几倍?

发布于 2024-12-05 08:07:13 字数 235 浏览 2 评论 0原文

每次从项目目录构建项目时,我都会运行此命令:

egrep -r -n --include=*.java <my regex> .

而且我无法理解为什么连续运行比第一次运行快 10 倍。实际上我在其他涉及大型目录的磁盘 IO 操作(计算目录大小、代码提交等)中看到了这种行为。 我认为这与操作系统的磁盘IO内部有关。可能它在某种程度上正在缓存。有人能把我的鼻子指向正确的方向吗?

I run this command every time I build my project from the project directory:

egrep -r -n --include=*.java <my regex> .

And I cannot understand why consecutive runs are up to 10 times faster than first one. Actually I have seen this behavior in other disk IO operations involving large directories (calculation directory size, code commits etc.).
I think that it is related to operation system's disk IO internals. Probably it is caching on some level. Can somebody point my nose in right direction?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

打小就很酷 2024-12-12 08:07:13

因为最近访问的文件被操作系统缓存了。

请查看此处

Because recently accessed files are cached by the operating system.

Have a look here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文