Subject: Re: bug#66288: 29.1; Performance regression using pipe for subprocess

From: Eli Zaretskii <[email-masked]>
Date: Tue, 03 Oct 2023 20:24:38 +0300

> Cc: [email-masked], [email-masked], [email-masked]
> Date: Tue, 03 Oct 2023 09:22:44 +0300
> From: Eli Zaretskii <[email-masked]>
> 
> Are you building with exactly the same configure- and build-time
> options?  Can you show the values of the following variables in both
> versions:
> 
>   system-configuration
>   system-configuration-options
>   system-configuration-features
>   locale-coding-system
> 
> And what does the following produce in both versions:
> 
>   emacs -Q
>   M-x load-library RET emacsbug RET
>   M-: (emacs-build-description) RET
> 
> Also, what are the values of the following variables in src/Makefile:
> 
>   CFLAGS
>   CPPFLAGS
>   LDFFLAGS
>   C_SWITCH_SYSTEM

None of the above is needed anymore, as they don't seem to be
relevant.

The Lisp profiler seems to point to redisplay as the culprit:
redisplay_internal seems to take most of the time in these recipes.

> I think at this point, since none of the initial guesses seems to be
> correct, running your recipe under perf and looking at the differences
> would be our best bet?  That, and bisecting the Git repository.

This would still be useful.  I'm trying to see what has changed
between Emacs 28 and Emacs 29 in this regard that causes such a
massive slowdown, but bisecting and/or perf data could provide
valuable inputs to guide the search.

> > One other thing comes to mind: is it possible that this is a problem 
> > with native compilation? I built both 28.2 and 29.1 to use native 
> > compilation. Did anything relevant change in 29.1?
> 
> It's unlikely to matter, but to eliminate this variable, please try
> building without native-compilation and see if the difference
> persists.

I've tried this both with and without native-compilation, and the
result is the same.  So native-compilation is not a significant factor
here.