為什麼檔案中的字串比標準輸入上的字串更快?

為什麼檔案中的字串比標準輸入上的字串更快?

我以為這會花費相似的時間,最多可能相差 30%,但實際情況相差甚遠。

這其中有什麼原因嗎?

使用 Zsh:

示範

並使用不同的外殼:

使用 Bash、Sh 和 Fish 進行演示

答案1

這不是 的問題strings,而是 OSX 中管道的問題。

無論您做什麼,透過管道發送資料都非常慢,尤其是在讀取和寫入大小未對齊的情況下。嘗試一些類似的事情

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

了解這些管道會減慢處理速度多少。

相關內容