お、再現した

i=0
while :; do
i=$((i+1))
echo test$i
echo log$i>&2
done | while read line; do
echo $line
sleep 3
done


パイプの前で無限ループで標準出力と標準エラー出力に高速に出力してるとき
パイプの後ろの遅い標準入力から入力の処理によって
パイプの前の標準エラー出力への出力がブロックされてる

7400行(64KB程度?)ぐらいまでは、パイプの後ろの処理を待つことなく高速に
標準エラー出力に出力するが、それ移行は1行ずつ出力するようになった。