emacs-devel
[Top][All Lists]
Advanced

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

Re: Redisplay slower in Emacs 28 than Emacs 27


From: Lars Ingebrigtsen
Subject: Re: Redisplay slower in Emacs 28 than Emacs 27
Date: Tue, 08 Dec 2020 15:06:44 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Eli Zaretskii <eliz@gnu.org> writes:

> Btw, there could be a way to speed up equal_lists, I think.  It
> compares image specs, not just any 2 lists, right?  An image spec
> always starts with the symbol 'image'.  So it should be enough to
> compare only the list members starting from the second one.  The image
> specs of the tool-bar buttons have 9 members, so this might yield an
> 11% speedup.

Yup.  And the same can be done when computing the image hash -- which
should be special-purpose and use identity and not contents.

But before doing that, we should probably decide, once and for all,
whether the cache should be on spec equality or identity...

And if we really go with identity (which we do now, but...  wrognly), we
could go one step further, and just look at the identity of the spec
itself, instead of looking at the identity of the contents.

That is, use

        && EQ (img->spec, spec)

instead of

        && equal_lists (img->spec, spec)

Or, if we decide to revert to a more permissive cache again, we could
just go back to using

        && !NILP (Fequal (img->spec, spec))

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no



reply via email to

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