emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ido-switch-buffer is slow with many buffers; others are fast


From: Stefan Monnier
Subject: Re: ido-switch-buffer is slow with many buffers; others are fast
Date: Sat, 14 Nov 2020 13:22:18 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

> I recently became annoyed enough in my 1000-buffer Emacs instance to
> start profiling things.
[...]
> It appears that the slowness is completely due to ido building a list of
> all buffers in ido-make-buffer-list-1. This function calls
> ido-ignore-item-p on every buffer, which checks buffer names against a
> regex to ignore ones with leading spaces, which seems to be fairly slow.

With current processing power, I find it strange that filtering with
a single regexp on a 1000-element list should take a whole second.
IOW, I suspect that there's more to it than that (e.g. an
inefficient regexp, or some other cost somewhere).

>   This is a bit unfortunate since iswitchb-mode has been deprecated in
>   favor of ido-mode.

Actually, it was deprecated in favor of icomplete-mode.

> There have been many proposals to turn ido on by default in Emacs.

I can't remember such proposals, at least not in the last 10 years or so.

> Alas, given the current state of ido's performance, it seems to me to be
> clearly unacceptable to turn ido on by default.

`ido-mode` is barely being maintained, I wouldn't recommend it.


        Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]