Search code examples
performanceemacsido

Emacs: How to improve ido performance?


I found that if the ido completion list contains hundreds of items, it would be too slow to give completion suggestions.

I want to make use of ido's ability with high response speed. Any suggestions about how to fix the problem?


Solution

  • I use ido to complete Unicode character names, of which there are upwards of 30,000. Ido was quite slow until I set ido-enable-flex-matching to nil for this single operation, and it immediately became essentially as fast as for any other matching operation. Maybe this tactic can help you, too.

    In a nutshell, I did this:

    (let* ((ido-enable-flex-matching nil)
           (input (ido-completing-read prompt (ucs-names))))
      ; ...
    )