emacs-devel
[Top][All Lists]
Advanced

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

Re: Speed improvements to ido.el


From: Daniel Skarda
Subject: Re: Speed improvements to ido.el
Date: Thu, 22 Nov 2012 10:36:01 +0100

Hi Dmitry,

thanks for the suggestions. I will prepare some benchmarks using new Emacs and send the results.
I already did some statistics with elp during development, but I suspect that the numbers are not precise.

I am curious which improvements will be the fastest :)

Regards,
Dan

On Wed, Nov 21, 2012 at 4:37 AM, Dmitry Gutov <address@hidden> wrote:
Daniel Skarda <address@hidden> writes:

Hey Daniel,

Like Leo said, please provide some numbers.

A comparison to the current trunk would be best, since it contains an
additional optimization compared to the emacs-24 branch.

Here my test setup from the relevant discussion:
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12796#47

--Dmitry

> I like to use ido mode for everything, including very large lists (like M-x or
> info). Unfortunately ido is not suitable for such lists. On my old notebook,
> performance is not amazing, so I took the challenge and spend some time with
> profiler.
>
> I improved the performance in several steps:
>
> - inlined several functions
> - disabled ido-case-fold for some completions (eg commands)
> - prunning collections based on character bitmaps
> - caching character bitmaps during completion or for same completions
> - caching intermediate completion lists when adding new characters
>
> You can view my changes on github:
>
> - https://github.com/orfelyus/ido-speed-hack
> - https://github.com/orfelyus/ido-mode-el
>
> - (and optionally) https://github.com/orfelyus/ido-better-flex
>
> ido-speed-hack includes large changes (bitmaps) while ido-mode-el includes minor
> changes to ido.el
>
> The changes made huge speed improvements on my notebook and ido does not feel
> sluggish even with very large lists.
>
> Could you please test my improvements? I would appreciate any feedback.
> Dan
>
> ps: I am not subscribed to the mailing list, please keep me in Cc


reply via email to

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