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: Dmitry Gutov <dgutov <at> yandex.ru>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#41029: closed (Improve ido-switch-buffer performance when
 many buffers are open)
Date: Thu, 28 May 2020 23:37:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Fri, 29 May 2020 02:36:31 +0300
with message-id <457d5c0e-8eb2-d1c3-27d6-aae2c9fc5047 <at> yandex.ru>
and subject line Re: bug#41029: Improve ido-switch-buffer performance when many buffers are open
has caused the debbugs.gnu.org bug report #41029,
regarding Improve ido-switch-buffer performance when many buffers are open
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> 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: 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 3 (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)]
[Message part 5 (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!


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.