Subject: bug#50777: Dropping EIEIO from xref (for performance)

From: Dmitry Gutov <[email-masked]>
Date: Sun, 26 Sep 2021 05:16:31 +0300

On 25.09.2021 17:07, Daniel Martín wrote:

> Thanks for working on this.  I checked the patch and I also see a
> similar speedup in my system, working with a large monorepo.

Thanks for checking.

Could you also do some benchmarking with GNU Grep, as requested in 
bug#50733?

> I agree with Lars, it's better not to rush this change.  The change is
> invasive and I think I was the only person to report a performance
> problem so far in that part of the codebase.  I guess it's better to
> merge this just after the Emacs 28 branch is cut, so that users in a
> stable version are not affected by any potential bug/interface
> incompatibility not caught during pretest.  Thanks.

It has been a known issue for a while, with repeated passes at improving 
its performance (the "many matches" scenario).

Yours has been the second report I've received in the last couple of weeks.

I suppose it makes sense to be careful, but the only incompatible 
packages I have found so far are helm-xref and ivy-xref, both only using 
with-slots (copied verbatim from xref--insert-xrefs, I guess). It's easy 
to fix, and the latter can mostly be replaced with the use of 
xref-show-definitions-completing-read these days. Maybe both of them can.