Subject: Re: bug#71367: 30.0.50; ELPA package breadcrumb causes Emacs freeze when editing json file

From: João Távora <[email-masked]>
Date: Thu, 6 Jun 2024 11:07:54 +0100

> Maybe João could suggest some trick or user option to cut down that
> initial time to reasonable level.

No, but feel free to profile and suggest Elisp changes or algorithmic
changes.  Maybe the vconcat re-allocations in breadcrumb--ipath-plain
re-allocations are to blame?  It's O(N^2) allocations I think.  What's
the length of bc--ipath-plain?  17500ish?  If so, then the thing would
be to reserve some space in the vector upfront, but I don't know how
to do that easily in Elisp (in CL there's VECTOR-PUSH and
VECTOR-PUSH-EXTEND).  Or maybe the vector could be list instead, though
that would possibly slow down things elsewhere.

I'm of course just guessing and leaving these notes for the curious, I
won't be tackling this myself.

> Failing that, I suggest not to
> enable breadcrumb-mode in such large JSON buffers (something that can
> be done in a mode hook, I guess?)

Yes, there is `breadcrumb-local-mode`.