Subject: bug#48841: fido-mode is slower than ido-mode with similar settings

From: João Távora <[email-masked]>
Date: Sat, 05 Jun 2021 10:35:42 +0100

Dmitry Gutov <[email-masked]> writes:

> I'm comparing
>
>   ido-mode
>   with ido-ubiquitous-mode (for support for arbitrary completion
>   tables), available at
>   https://github.com/DarwinAwardWinner/ido-completing-read-plus
>   with (setq ido-enable-flex-matching t), of course
>
> versus
>
>  fido-mode
>  with
>    (setq icomplete-compute-delay 0)
>    (setq icomplete-show-matches-on-no-input t)
>    (setq icomplete-max-delay-chars 0)
>
> The values chosen for behavior maximally close to ido.
>
> Try something like:
>
>  - Start a session with personal config and a number of loaded
>    packages (so that there are a lot of functions defined in obarray)
>  - Type 'C-h f'
>  - Type 'a', then type 'b'.
>  - Delete 'b', type it again, see how quickly you can make the
>    completions update.
>
> With ido, the updates seem instant (probably due to some magic in
> ido-completing-read-plus); with fido, there is some lag. Not huge, but
> easy enough to notice.

Thanks for the report.  Before I try reproducing, can you try with
fido-vertical-mode and tell us it if that changes anything?  I think I
remember that skipping some suffix-calculation logic saved on a few
traversals of the big list of symbol completions.

João