加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 为什么管道进入猫的速度要快于对猫的管道?

发布时间:2020-12-15 21:01:11 所属栏目:安全 来源:网络整理
导读:我刚刚发现找到了.比找到要慢. |猫.这是做时间查找的结果.在我的主目录中3次: First:real 0m4.385suser 0m0.546ssys 0m2.072sSecond:real 0m4.090suser 0m0.514ssys 0m1.798sThird:real 0m4.197suser 0m0.508ssys 0m1.905s 做时间找. |而猫显着改善了结果:
我刚刚发现找到了.比找到要慢. |猫.这是做时间查找的结果.在我的主目录中3次:

First:
real    0m4.385s
user    0m0.546s
sys     0m2.072s

Second:
real    0m4.090s
user    0m0.514s
sys     0m1.798s

Third:
real    0m4.197s
user    0m0.508s
sys     0m1.905s

做时间找. |而猫显着改善了结果:

First:
real    0m2.988s
user    0m0.378s
sys     0m1.649s

Second:
real    0m2.768s
user    0m0.370s
sys     0m1.471s

Third:
real    0m2.768s
user    0m0.370s
sys     0m1.471s

你可以告诉,找到. |猫要快得多.我对此感到困惑,cat唯一能做的就是将输入复制到输出中,对吧?我真的不知道为什么会这样,如果有人能告诉我它为什么,我会很高兴.

为了记录,这是find的输出. |厕所:

246646  477986 25198490

谢谢.

解决方法

打电话找.本身并不比找到慢. |猫.将输出打印到stdout时速度会慢一些.
当您将输出重定向到/ dev / null(特别是调用find.> / dev / null并查找.| cat> / dev / null)时,您应该观察到|猫比没有慢.

从这些结果中我想到的唯一结论是,通过让cat运行一个单独的打印过程,find命令不会被阻止打印到stdout,而cat会作为一个单独的进程运行,所以当它是阻止打印到stdout,find命令仍在运行实际查找文件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读