Re:How is GNU `yes` so fast?
by mkj on Tuesday June 13, 2017 @03:08AM
(#14543304)
It's 2x times faster for a quick test here. Only copying on the read side?
[ Parent
| on HN ]
Re:How is GNU `yes` so fast?
by readittwice on Tuesday June 13, 2017 @06:10AM
(#14543823)
Out of interest: Could you please post the code?
https://pastebin.com/jrcJbjU4
I've realised straight tee() is actually wrong - it works fine for piping to something but "zcyes > /dev/null" won't work, it needs vmsplice() like mrb said.
core2duo e8400, 4.8 kernel, coreutils 8.25
> yes | dd bs=1M count=10000 of=/dev/null iflag=fullblock
10485760000 bytes (10 GB, 9.8 GiB) copied, 4.1901 s, 2.5 GB/s
> ./zcyes | dd bs=1M count=10000 of=/dev/null iflag=fullblock
10485760000 bytes (10 GB, 9.8 GiB) copied, 1.8542 s, 5.7 GB/s