[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large nu
From: |
Stefan Monnier |
Subject: |
bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers |
Date: |
Wed, 13 Dec 2023 09:12:39 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
>> But it will only solve specific problem with `find-buffer-visiting' and
>> we can always go for it if we cannot find anything better.
> Which other popular functions need to loop through all the buffers in
> Lisp?
Not sure why that matters. The performance problem comes from repeated
uses of `(let ((case-fold-search ..)) ...)` where the repetition can be
due to anything (not only enumerating buffers).
The "loop through buffers" happens when entering and leaving the `let`,
because it has to `set/unset` the corresponding filed of the `struct
buffer` of all the buffers whose `case-fold-search` is "global".
Making it a DEFVAR_LISP rather than a DEFVAR_PER_BUFFER will fix this
problem (at the cost of making it less efficient to `set-buffer` when
that variable has been made buffer-local).
DEFVAR_PER_BUFFER should be for variables which are usually
buffer-local, and apparently that's not the case of `case-fold-search`,
so I'm starting to think that changing it from DEFVAR_PER_BUFFER to
DEFVAR_LISP might be the better option.
Stefan
- bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers, (continued)
- bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers, Stefan Monnier, 2023/12/12
- bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers, Stefan Monnier, 2023/12/12
- bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers, Ihor Radchenko, 2023/12/12
- bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers, Dmitry Gutov, 2023/12/12
- bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers, Stefan Monnier, 2023/12/12
- bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers, Eli Zaretskii, 2023/12/13
- bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers, Ihor Radchenko, 2023/12/13
- bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers, Eli Zaretskii, 2023/12/13
- bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers, Ihor Radchenko, 2023/12/13
- bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers, Eli Zaretskii, 2023/12/13
- bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers,
Stefan Monnier <=
- bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers, Eli Zaretskii, 2023/12/13
- bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers, Ihor Radchenko, 2023/12/13
- bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers, Eli Zaretskii, 2023/12/13
- bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers, Ihor Radchenko, 2023/12/14
- bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers, Eli Zaretskii, 2023/12/14
- bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers, Stefan Monnier, 2023/12/14
- bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers, Eli Zaretskii, 2023/12/14
- bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers, Stefan Monnier, 2023/12/14
- bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers, Ihor Radchenko, 2023/12/14
- bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers, Stefan Monnier, 2023/12/14