When using GNU parallel 20160522 with bash 3.2.57(1)-release, my use case
is of the form

slow-computation | parallel --pipe sh -c "quick-computation1 |
quick-computation2"

In this case, slow-computation outputs one job per line of stdout. Each
line of input is unbuffered and immediately available to parallel.

parallel seems to wait for input EOF before starting the first job. Is it
possible to make parallel eagerly start jobs as they become available?

Reproduction:

sh -c 'for i in $(seq 5); do echo "line${i}"; sleep 1; done' | parallel
echo // prints no output for 5 seconds, then all output at once
sh -c 'for i in $(seq 5); do echo "line${i}"; sleep 1; done' | xargs -n1
echo // prints one line every 1 second, but I'd rather use parallel :-)

Thanks,
Ryan

Reply via email to