From: Gregory Heytings via "Emacs development discussions." <emacs-devel@gnu.org>
To: Alan Mackenzie <acm@muc.de>
Cc: emacs-devel@gnu.org
Subject: Re: The Emacs master is much slower than the emacs-27 branch.
Date: Fri, 04 Dec 2020 09:59:24 +0000 [thread overview]
Message-ID: <alpine.NEB.2.22.394.2012041058040453.20138@sdf.lonestar.org> (raw)
In-Reply-To: <X8krQv7LwzTt9DFR@ACM>
[Apparently this email, which I sent a few hours ago, did not reach the
mailing list. I apologize if you receive it twice.]
>
> I've got pretty much up to date copies of both the master and the
> emacs-27 branches.
>
> When I run my customary benchmark (see below) on master's src/xdisp.c in
> master, it's taking around 34s. On emacs-27, it's taking 22s.
>
> That's a massive slowdown. Does anybody know why this is happening?
> Should I raise a bug report?
>
> The benchmark I run is this:
>
> (defmacro time-it (&rest forms)
> "Time the running of a sequence of forms using `float-time'.
> Call like this: \"M-: (time-it (foo ...) (bar ...) ...)\"."
> `(let ((start (float-time)))
> ,@forms
> (- (float-time) start)))
>
> (defun time-scroll (&optional arg)
> (interactive "P")
> (message "%s"
> (time-it
> (condition-case nil
> (while t
> (if arg (scroll-down) (scroll-up))
> (sit-for 0))
> (error nil)))))
>
> On a freshly loaded buffer, do M-: (time-scroll).
>
Did you use emacs -Q? What is your platform?
Out of curiosity, I tried your benchmark on my computer (Debian GNU/Linux)
for the following Emacs versions. I ran the benchmark four times for each
version, and the results were stable for each version:
Emacs 23.4.1: 5.2s (that's not a typo: five seconds)
Emacs 24.5.1: 28.2s
Emacs 25.2.2: 27.6s
Emacs 26.3: 16.9s
Emacs 27.1: 18.5s
Emacs 28.0.50: 19.5s
I see a slowdown between 27 and 28, but not a massive one.
FWIW, here are the results of that benchmark after disabling
global-font-lock-mode:
Emacs 23.4.1: 1.1s
Emacs 24.5.1: 1.8s
Emacs 25.2.2: 1.8s
Emacs 26.3: 3.0s
Emacs 27.1: 3.3s
Emacs 28.0.50: 3.3s
next prev parent reply other threads:[~2020-12-04 9:59 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
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. [this message]
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=alpine.NEB.2.22.394.2012041058040453.20138@sdf.lonestar.org \
--to=emacs-devel@gnu.org \
--cc=acm@muc.de \
--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).