emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: The Emacs master is much slower than the emacs-27 branch.


From: Stephen Berman
Subject: Re: The Emacs master is much slower than the emacs-27 branch.
Date: Fri, 04 Dec 2020 20:34:54 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

On Fri, 04 Dec 2020 19:27:37 +0000 Gregory Heytings <ghe@sdf.org> wrote:

>>>> I just rebuilt emacs-27 with "make bootstrap", reran the benchmark, and it
>>>> took ~60 seconds, about a second faster than the previous non-bootstrapped
>>>> build.  The profile is similar to the previous one from emacs-27, but I've
>>>> attached for your perusal anyway.  I'll bootstrap master too and run the
>>>> benchmark there again.
>>>
>>> On freshly bootstrapped master the benchmark took the same time as before,
>>> ~21 seconds, and the profile looks pretty much the same, so I haven't
>>> attached it, but will send it if you want to see it.
>>
>> Thanks.  This is very strange.  What are the build options and the features
>> in each build? are they identical?
>>
>
> Indeed with CFLAGS='-Og -g3', on my computer (Debian GNU/Linux, GCC 10.2.0)
> with 28.0.50 this benchmark takes 25.2 seconds, whereas with 27.1.50 it takes
> 67.6 seconds.
>
> I bisected this, and the origin of the regression is commit
> 365dad197bac5deec9244fd9c189d23c46c99b31, which changes the default to "use
> 'static' instead of 'extern inline' [in C headers] because 'static' typically
> has better performance for Emacs".  With -Og or -O0, the benchmark takes 67
> seconds, with -O1 or above (-O2 is the default) it takes 25 seconds.
>
> Emacs 28.0.50 uses 'static inline' instead of 'extern inline' again, "because
> 'static inline' has much better performance for Emacs when compiled with 'gcc
> -Og'" (see src/conf_post.h).

Thanks for tracking that down!

Steve Berman



reply via email to

[Prev in Thread] Current Thread [Next in Thread]