为什么文件上的字符串比标准输入上的字符串更快?

为什么文件上的字符串比标准输入上的字符串更快?

我原本以为它会花费类似的时间,可能最多相差 30%,但结果却相差甚远。

这其中有什么原因吗?

使用 Zsh:

示范

使用不同的 shell:

使用 Bash、Sh 和 Fish 进行演示

答案1

这不是的问题strings,而是OSX中管道的问题。

无论你做什么,通过管道发送数据都非常慢,特别是当读取和写入大小不一致时。尝试以下方法

cat somefile | cat | cat | cat | cat | cat | strings

了解这些管道对处理速度的影响程度。

相关内容