Subject: bug#48581: 27.2; Default value of lazy-highlight-buffer-max-at-a-time is too low

From: Eli Zaretskii <[email-masked]>
Date: Sat, 22 May 2021 12:44:36 +0300

> From: Augusto Stoffel <[email-masked]>
> Date: Sat, 22 May 2021 11:25:44 +0200
> 
> The value of lazy-highlight-buffer-max-at-a-time determines how long
> it takes to finish computing the isearch lazy count.  The current
> default value of 20 seems suboptimal.
> 
> I made a simple experiment measuring the (real) time to count the
> ~15000 matches of the string "e" in the file isearch.el, with the
> following results:
> 
> lazy-highlight-buffer-max-at-a-time | time to finish counting
> 20 (current setting)                | 1.5 s
> 50                                  | 0.8 s
> 100                                 | 0.6 s
> 200                                 | 0.5 s
> nil (do it all at once)             | 0.4 s
> 
> Based on this, I would like to suggest changing the default to 200, or
> something in that order of magnitude.

You assume that (a) the main purpose of Isearch is to count the
matches, and (b) that a case with 15,000 matches is the common one?

> The downside of this change would be an increase in the time Emacs is
> unresponsive doing lazy counting/highlighting.  However, this time
> remains below a few milliseconds in a typical case

What kind of CPU do you have there, and how many milliseconds does it
take Emacs to highlight 20 vs 200 matches?