[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: difference between read -u fd and read <&"$fd"
From: |
Kerin Millar |
Subject: |
Re: difference between read -u fd and read <&"$fd" |
Date: |
Thu, 16 May 2024 05:50:05 +0100 |
User-agent: |
Cyrus-JMAP/3.11.0-alpha0-456-gcd147058c-fm-hotfix-20240509.001-g0aad06e4 |
On Thu, 16 May 2024, at 3:25 AM, Peng Yu wrote:
> Hi,
>
> It appears to me that read -u fd and read <&"$fd" achieve the same
> result. But I may miss corner cases when they may be different.
>
> Is it true that they are exactly the same?
They are not exactly the same. To write read -u fd is to instruct the read
builtin to read directly from the specified file descriptor. To write read
<&"$fd" entails one invocation of the dup2 syscall to duplicate the specified
file descriptor to file descriptor #0 and another invocation to restore it once
read has concluded. That's measurably slower where looping over read.
--
Kerin Millar