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: Gregory Heytings
Subject: Re: The Emacs master is much slower than the emacs-27 branch.
Date: Fri, 04 Dec 2020 19:27:37 +0000
User-agent: Alpine 2.22 (NEB 394 2020-01-19)


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).



reply via email to

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