The following exhibits abysmal speed within Emacs:
(let (process-connection-type) (switch-to-buffer (generate-new-buffer
"*test*"))(erase-buffer)(start-process "test" (current-buffer) "sh"
"-c" "hexdump -v /dev/zero|dd bs=1 count=100k")(erase-buffer))
More to the point, things start out dead slow and get faster later.
It is not the fault of the programs on the sending side: just piping
into cat >/dev/null instead of Emacs is much much faster. It does
not seem that setting process-connection-type to nil as above (using
a pipe instead of a pty) does help worth noting.
The system I see this in is
GNU Emacs 21.3.50.3 (i686-pc-linux-gnu)
a RedHat 9 system, but I have seen this in practically every Linux
system up to now. Is this a Linux-specific problem, or do others see
this as well?