From: Stephen Berman <stephen.berman@gmx.net>
To: Gregory Heytings <ghe@sdf.org>
Cc: acm@muc.de, Eli Zaretskii <eliz@gnu.org>, emacs-devel@gnu.org
Subject: Re: The Emacs master is much slower than the emacs-27 branch.
Date: Fri, 04 Dec 2020 20:34:54 +0100 [thread overview]
Message-ID: <87tut1s6u9.fsf@gmx.net> (raw)
In-Reply-To: <alpine.NEB.2.22.394.2012041958360453.28612@sdf.lonestar.org> (Gregory Heytings's message of "Fri, 04 Dec 2020 19:27:37 +0000")
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
next prev parent reply other threads:[~2020-12-04 19:34 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-03 18:15 The Emacs master is much slower than the emacs-27 branch Alan Mackenzie
2020-12-03 20:17 ` Eli Zaretskii
2020-12-04 9:13 ` Alan Mackenzie
2020-12-03 20:59 ` Mattias Engdegård
2020-12-04 9:24 ` Alan Mackenzie
2020-12-04 10:46 ` Alan Third
2020-12-04 11:07 ` Mattias Engdegård
2020-12-03 21:09 ` Ergus
2020-12-04 9:19 ` Alan Mackenzie
2020-12-03 22:17 ` Stephen Berman
2020-12-04 9:04 ` Alan Mackenzie
2020-12-04 9:32 ` Stephen Berman
2020-12-04 9:53 ` Alan Mackenzie
2020-12-04 10:14 ` Stephen Berman
2020-12-04 11:45 ` Eli Zaretskii
2020-12-04 12:54 ` Stephen Berman
2020-12-04 13:28 ` Eli Zaretskii
2020-12-04 13:53 ` Stephen Berman
2020-12-04 14:05 ` Stephen Berman
2020-12-04 15:51 ` Eli Zaretskii
2020-12-04 16:03 ` Stephen Berman
2020-12-04 16:28 ` Óscar Fuentes
2020-12-04 18:51 ` Eli Zaretskii
2020-12-04 21:37 ` Stephen Berman
2020-12-05 8:05 ` Eli Zaretskii
2020-12-04 16:49 ` Stefan Monnier
2020-12-05 14:04 ` Basil L. Contovounesios
2020-12-05 14:38 ` Stefan Monnier
[not found] ` <837dpxedmz.fsf@gnu.org>
2020-12-04 17:03 ` Stephen Berman
2020-12-04 17:59 ` Stephen Berman
2020-12-04 20:47 ` Óscar Fuentes
2020-12-04 21:33 ` Stephen Berman
2020-12-04 17:07 ` Eli Zaretskii
2020-12-04 19:27 ` Gregory Heytings via Emacs development discussions.
2020-12-04 19:34 ` Stephen Berman [this message]
2020-12-04 19:58 ` Eli Zaretskii
2020-12-04 20:33 ` Gregory Heytings via Emacs development discussions.
2020-12-04 20:47 ` Eli Zaretskii
2020-12-04 20:59 ` Gregory Heytings via Emacs development discussions.
2020-12-04 21:02 ` Eli Zaretskii
2020-12-04 21:20 ` Gregory Heytings via Emacs development discussions.
2020-12-05 7:44 ` Eli Zaretskii
2020-12-05 8:14 ` Gregory Heytings via Emacs development discussions.
2020-12-05 8:44 ` Gregory Heytings via Emacs development discussions.
2020-12-05 9:14 ` Eli Zaretskii
2020-12-05 9:20 ` Eli Zaretskii
2020-12-05 9:33 ` Eli Zaretskii
2020-12-05 13:50 ` Basil L. Contovounesios
2020-12-05 14:29 ` Eli Zaretskii
2020-12-05 14:56 ` Ergus
2020-12-05 15:14 ` Eli Zaretskii
2020-12-05 15:29 ` Andrea Corallo via Emacs development discussions.
2020-12-05 15:15 ` Gregory Heytings via Emacs development discussions.
2020-12-05 15:31 ` Óscar Fuentes
2020-12-05 9:05 ` Eli Zaretskii
2020-12-05 9:23 ` martin rudalics
2020-12-05 12:55 ` Gregory Heytings via Emacs development discussions.
2020-12-05 13:41 ` Eli Zaretskii
2020-12-05 15:17 ` Gregory Heytings via Emacs development discussions.
2020-12-05 15:55 ` Eli Zaretskii
2020-12-05 14:47 ` Óscar Fuentes
2020-12-05 15:07 ` martin rudalics
2020-12-05 15:24 ` Gregory Heytings via Emacs development discussions.
2020-12-05 15:36 ` martin rudalics
2020-12-05 15:39 ` Gregory Heytings via Emacs development discussions.
2020-12-05 15:47 ` Óscar Fuentes
2020-12-05 17:21 ` Gregory Heytings via Emacs development discussions.
2020-12-05 15:57 ` Eli Zaretskii
2020-12-05 16:04 ` Gregory Heytings via Emacs development discussions.
2020-12-05 15:08 ` Eli Zaretskii
2020-12-04 14:55 ` Arthur Miller
2020-12-04 15:00 ` Arthur Miller
2020-12-04 9:59 ` Gregory Heytings via Emacs development discussions.
2020-12-09 4:23 ` andres.ramirez
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87tut1s6u9.fsf@gmx.net \
--to=stephen.berman@gmx.net \
--cc=acm@muc.de \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=ghe@sdf.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).