Bash 显式重定向中的速度差异

Bash 显式重定向中的速度差异,bash,Bash,两者的区别是什么 sed -ne '10{p;q;}' file.txt & 正在发生(4,我只是指一个临时文件描述符) 因此,两者的速度应该相同我错了吗??两者最终都会得到一个由sed处理的文件的文件描述符,区别在于谁有效地打开了该文件,但其余的都是一样的。与猫和管子的无用使用形成对比。性能影响可能与grep(尤其是GNU-grep)更相关,grep在开放的fd流上做了真正聪明的事情,而不是简单的stdin流。不太正确;在第一种情况下,sed可以使用mmap-ed输入,这可能更快,而且可能还

两者的区别是什么

sed -ne '10{p;q;}' file.txt
&

正在发生(4,我只是指一个临时文件描述符)


因此,两者的速度应该相同我错了吗?

两者最终都会得到一个由sed处理的文件的文件描述符,区别在于谁有效地打开了该文件,但其余的都是一样的。与猫和管子的无用使用形成对比。性能影响可能与grep(尤其是GNU-grep)更相关,grep在开放的fd流上做了真正聪明的事情,而不是简单的stdin流。

不太正确;在第一种情况下,sed可以使用mmap-ed输入,这可能更快,而且可能还有其他不太显著或更显著的差异。感谢
GNU-grep
上提供的信息。
sed -ne '10{p;q;}' <file.txt 
 exec 4<&0; exec 0<file.txt;sed -ne '10{p;q;}'-;exec 0<&4