GNU bug report logs -
#18626
24.3.94; communication with subprocess is slow
Previous Next
Full log
View this message in rfc822 format
Eli Zaretskii <eliz <at> gnu.org> writes:
> Can you present similar timings from some Posix platform for
> comparison?
On Debian wheezy, with emacs 24.3.94:
$ cd /tmp
$ time cat < /home/Projects/emacs/emacs-24.3.94/src/xdisp.c > xdisp.c
real 0m0.007s
user 0m0.000s
sys 0m0.004s
(find-file "emacs-24.3.94/src/xdisp.c")
(pipe-torture "cat.exe")
1.556597
much faster than Windows, but still slow relative to plain file IO.
(pipe-torture "debug.exe" "4096")
This dies, because "debug.exe" exits early. It turns out that Emacs is
sending one line of the buffer at a time. I have not yet tried to figure
out why that doesn't happen on Windows.
(find-file "emacs-24.3.94/src/xdisp.c")
(pipe-torture-read "/Projects/emacs/emacs-24.3.94/src/xdisp.c")
0.077341
much faster than Windows, 10 times slower than file IO.
>> Doing (setq process-adaptive-read-buffering nil) did not change the
>> timing.
>
> AFAIK, this variable only matters for reading the subprocess output.
> Since you didn't present the results for that, there's no evidence yet
> which would support this conclusion.
Right; process-adaptive-read-buffering should only affect
pipe-torture-read.
On Windows:
(find-file "emacs-24.3.94/src/xdisp.c")
(pipe-torture-read "/Projects/emacs/emacs-24.3.94/src/xdisp.c")
process-adaptive-read-buffering t:
11.997684
process-adaptive-read-buffering nil:
12.012685
process-adaptive-read-buffering has no effect.
Simililary, on Debian, process-adaptive-read-buffering has no effect.
--
-- Stephe
This bug report was last modified 10 years and 254 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.