emacs-devel
[Top][All Lists]
Advanced

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

Re: Time to merge scratch/correct-warning-pos into master, perhaps?


From: Stefan Monnier
Subject: Re: Time to merge scratch/correct-warning-pos into master, perhaps?
Date: Fri, 04 Feb 2022 17:30:09 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)

> I think he meant "general purpose".  So the answer is no,
> symbol-with-pos should not occur in general purpose code.  And indeed
> that's why you have that boolean var controlling `EQ` to choose between
> the slow version (used in the compiler) and the fast version (used
> everywhere else).  The fast version is exactly the same as the
> previous `eq` but it still makes the new `EQ` slower because of the
> extra choice between the slow version and the fast one.

BTW, currently, it's not just `EQ` that's slower but also `XSYMBOL` and
`SYMBOLP`.  I think we could make those faster (especially we could
probably make `SYMBOLP` as fast as it was), but I don't know if those
have a noticeable performance impact.

> I can't see why we couldn't but I can't see why it would help either.
> We'd still have the problem that two different objects may need to be
> considered `eq`, so we need `eq` to be slower.

One way out of this is to go through all the compiler code and all the
macros and arrange for it to avoid using `eq` (and use `equal` instead)
when comparing symbols.

Then we could revert `EQ` to be the fast equality check that it was.

It's no small task, tho,


        Stefan




reply via email to

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