Re:How is GNU `yes` so fast?
by kevingranade on Tuesday June 13, 2017 @07:51PM
(#14549690)
The stated use case for the perf improvement was "yes(1) may be used to generate repeating patterns of text
for test inputs etc., so adjust to be more efficient."
Source: https://github.com/coreutils/coreutils/commit/35217221c211f3...
I've personally used it for generating repeating text and filling disks in system testing, so I appreciate it being faster at those tasks. I also sometimes use it as a signal generator for a hacky load generator, like so:
yes | xargs -L 1 -P NUM_PROCESSES -I {} curl SOME_TARGET_URL > /dev/null
This doesn't benefit from being faster per se, but I appreciate it using less CPU since I want to give curl as much system resources as possible.
Why did the GNU developers go to such lengths to optimize the yes program? It's a tiny, simple shell utility that is mostly used for allowing developers to lazily "y" there way through confirm prompts thrown out by other shell scripts.
is this a case of optimization "horniness" (for lack of a better word) taken to its most absurd extreme, or is there some use case where making the yes program very fast is actually important?