stdin에서보다 파일에서 문자열이 더 빠른 이유는 무엇입니까?

stdin에서보다 파일에서 문자열이 더 빠른 이유는 무엇입니까?

나는 비슷한 시간이 걸릴 것이라고 생각했을 것입니다. 아마도 최대 30%의 차이가 있을 것입니다. 그러나 그것은 이상합니다.

이에 대한 이유가 있습니까?

Zsh를 사용하면:

데모

그리고 다른 껍질을 사용하면:

Bash, Sh 및 Fish를 사용한 데모

답변1

의 문제가 아니라 stringsOSX의 파이프 문제입니다.

무엇을 하든 파이프를 통해 데이터를 보내는 것은 매우 느립니다. 특히 읽기 및 쓰기 크기가 정렬되지 않은 경우 더욱 그렇습니다. 다음과 같은 내용을 시도해 보세요.

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

파이프가 처리 속도를 얼마나 느리게 하는지 알아보기 위해.

관련 정보