GNU bug report logs - #66288
29.1; Performance regression using pipe for subprocess

Previous Next

Package: emacs;

Reported by: Chris Hanson <cph <at> chris-hanson.org>

Date: Sun, 1 Oct 2023 00:59:02 UTC

Severity: normal

Found in version 29.1

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Chris Hanson <cph <at> chris-hanson.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 66288 <at> debbugs.gnu.org
Subject: bug#66288: 29.1; Performance regression using pipe for subprocess
Date: Sun, 1 Oct 2023 14:02:26 -0400
[Message part 1 (text/plain, inline)]
On 10/1/23 04:39, Eli Zaretskii wrote:
>> Date: Sat, 30 Sep 2023 20:57:31 -0400
>> From: Chris Hanson <cph <at> chris-hanson.org>
>>
>> When using "xscheme.el" to start and interact with MIT/GNU Scheme in a
>> subprocess, the performance significantly degraded in Emacs 29.1.  It
>> worked well in older releases.
>>
>> Here is a recipe:
>>
>>       emacs -Q
>>       M-x load-library RET xscheme RET
>>       M-x run-scheme RET
>>
>>       and see how slowly the process output is printed as Scheme starts.
>>       Compare this to Emacs 28.2 or earlier.
> 
> Please post the comparison as you see it on your system, preferably in
> quantitative terms (e.g., time it takes to read and process some chunk
> of text in both versions), and using the same version of MIT/GNU
> Scheme.
> 
> FWIW, I see no changes in xscheme.el between v28.1 and v29.1, except
> some minor aesthetic changes and renames of functions.  So I wonder
> how come you see a significant slowdown.

Attached find two screen grabs showing 28.2 and 29.1; you'll see the 
difference is dramatic.  In both cases the same MIT/GNU Scheme version 
was used.  (FYI: I'm the MIT/GNU Scheme maintainer, as well as the 
original author of "xscheme.el".)

I saw that there were no relevant differences in "xscheme.el" but I 
never thought that was relevant.

I believe this has something to do with how piped subprocesses are being 
managed.  I've not looked deeply into the C code for this, but I could 
find no mention of anything to do with pipes in NEWS.

I don't think there's anything funny going on with how MIT/GNU Scheme 
manages stdout but I'll look into it.
[vokoscreenNG-2023-10-01_13-39-22.mkv (video/x-matroska, attachment)]
[vokoscreenNG-2023-10-01_13-40-38.mkv (video/x-matroska, attachment)]

This bug report was last modified 1 year and 229 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.