GNU bug report logs - #58558
29.0.50; re-search-forward is slow in some buffers

Previous Next

Package: emacs;

Reported by: Ihor Radchenko <yantar92 <at> posteo.net>

Date: Sun, 16 Oct 2022 01:27:02 UTC

Severity: normal

Found in version 29.0.50

Full log


Message #200 received at 58558 <at> debbugs.gnu.org (full text, mbox):

From: Ihor Radchenko <yantar92 <at> posteo.net>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 58558 <at> debbugs.gnu.org, Alan Mackenzie <acm <at> muc.de>,
 Eli Zaretskii <eliz <at> gnu.org>, larsi <at> gnus.org
Subject: Re: bug#58558: 29.0.50; re-search-forward is slow in some buffers
Date: Wed, 12 Apr 2023 14:39:08 +0000
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:

> I suspect that the patch below might fix the immediate problem.

I confirm that it does fix the problem. But why not `with-temp-buffer'?

Also, how come `setq' changes the global variable value despite it is
let-bound?

> Of course, setting `parse-sexp-lookup-properties` should not have such
> a major performance impact, so maybe we should keep digging into
> the problem.

Agree. I was considering `parse-sexp-lookup-properties' in Org, but this
issue will be a blocker.

To improve the performance, the two obvious ways are reducing the number
of SYNTAX_TABLE_BYTE_TO_CHAR calls in re_match_2_internal and speeding
up buf_bytepos_to_charpos. I'd prefer the latter as it is used
ubiquitously across Emacs and making point lookup faster will thus
benefit other places as well.

-- 
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>




This bug report was last modified 2 years and 64 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.