Subject: bug#58558: 29.0.50; re-search-forward is slow in some buffers

From: Ihor Radchenko <[email-masked]>
Date: Wed, 14 Dec 2022 13:26:15 +0000

Eli Zaretskii <[email-masked]> writes:

>> Combined with the fact that calling `garbage-collect' between benchmarks
>> makes the benchmark time nearly constant, this result may or may not
>> mean something.
>
> Is the "almost constant" time still significantly slower thane in
> previous versions?  Or is it similar?

It is orders of magnitude slower: sub-second in Emacs 28; seconds in
Emacs 29 fresh session; tens of seconds after several hours of Emacs
usage.

> Anyway, the fact that the time doesn't get worse when you GC between
> benchmark most probably means that we produce a lot of garbage markers
> (i.e., temporary markers that very quickly become unreferenced), and
> they get in the way of buf_bytepos_to_charpos.

Most likely, but it is only part of the problem. If these temporary
markers where the only problem, I would not see gradual performance
degradation as I continue Emacs session (`garbage-collect` is called
anyway during normal usage).

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>