GNU bug report logs - #41029
Improve ido-switch-buffer performance when many buffers are open

Previous Next

Package: emacs;

Reported by: Arnold Noronha <arnold <at> tdrhq.com>

Date: Sat, 2 May 2020 16:05:01 UTC

Severity: wishlist

Tags: patch

Fixed in version 28.1

Done: Dmitry Gutov <dgutov <at> yandex.ru>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Arnold Noronha <arnold <at> tdrhq.com>
Subject: bug#41029: closed (Re: bug#41029: Improve ido-switch-buffer
 performance when many buffers are open)
Date: Thu, 28 May 2020 23:37:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#41029: Improve ido-switch-buffer performance when many buffers are open

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 41029 <at> debbugs.gnu.org.

-- 
41029: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=41029
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Arnold Noronha <arnold <at> tdrhq.com>, 41029-done <at> debbugs.gnu.org
Subject: Re: bug#41029: Improve ido-switch-buffer performance when many
 buffers are open
Date: Fri, 29 May 2020 02:36:31 +0300
Version: 28.1

On 03.05.2020 05:03, Dmitry Gutov wrote:
> On 02.05.2020 21:26, Arnold Noronha wrote:
>> Actually, I realized this could be cleaner. Nicer patch attached.
> 
> Looks fine to me, thanks. Unless someone expresses any objections in a 
> week or so, we should install it.

Now pushed to master. Thank you!

[Message part 3 (message/rfc822, inline)]
From: Arnold Noronha <arnold <at> tdrhq.com>
To: bug-gnu-emacs <at> gnu.org
Subject: Improve ido-switch-buffer performance when many buffers are open
Date: Sat, 2 May 2020 08:40:55 -0700
[Message part 4 (text/plain, inline)]
Many of the buffer locals (in particular I think it's the
SYMBOL_FORWARDED types --- my terminoly may be off), appear to be O(n)
to bind, where n is the number of live buffers.

I tried to see if I can optimize that binding process directly, but
couldn't figure out a way to do it without changing current behavior,
so I opted to just optimize ido-switch-buffer directly.

After this patch, the performance is quite bearable at ~6000 buffers,
but still not ideal.
[0001-Avoid-binding-CASE-FOLD-SEARCH-in-tight-loop.patch (text/x-diff, attachment)]

This bug report was last modified 5 years and 78 days ago.

Previous Next


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