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: Alan Mackenzie
Subject: Re: The Emacs master is much slower than the emacs-27 branch.
Date: Fri, 4 Dec 2020 09:19:40 +0000

Hello, Ergus.

On Thu, Dec 03, 2020 at 22:09:19 +0100, Ergus wrote:
> On Thu, Dec 03, 2020 at 06:15:30PM +0000, Alan Mackenzie wrote:
> >Hello, Emacs.

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

> >-- 
> >Alan Mackenzie (Nuremberg, Germany).

> Hi Alan:

> I have observed the slowdown, but haven't have time to profile it
> properly. Maybe adding to your time-scroll function (profile-start 'cpu)
> just before and (profiler-stop) at the end to see the profile-report
> could provide useful information.

Now that I've reported the problem, I don't see it any more.  I just see
the 22s timing all the time.  Otherwise I would raise the bug report.

> The other thing I would check may be to compare the values of gcs-done
> in both cases.

Thanks!  I didn't know about that variable.

> Best,
> Ergus

-- 
Alan Mackenzie (Nuremberg, Germany).



reply via email to

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