[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#18626: 24.3.94; communication with subprocess is slow
From: |
Stephen Leake |
Subject: |
bug#18626: 24.3.94; communication with subprocess is slow |
Date: |
Sun, 05 Oct 2014 08:20:47 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (windows-nt) |
Eli Zaretskii <eliz@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
bug#18626: 24.3.94; communication with subprocess is slow, Stephen Leake, 2014/10/04