all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Paul Eggert <eggert@cs.ucla.edu>
Cc: nljlistbox2@gmail.com, monnier@IRO.UMontreal.CA, 23377@debbugs.gnu.org
Subject: bug#23377: 25.0.93; Completion is extremely slow for insert-char
Date: Tue, 26 Apr 2016 09:21:42 +0300	[thread overview]
Message-ID: <83potc28ll.fsf@gnu.org> (raw)
In-Reply-To: <571EEA4A.3020105@cs.ucla.edu> (message from Paul Eggert on Mon,  25 Apr 2016 21:10:50 -0700)

> From: Paul Eggert <eggert@cs.ucla.edu>
> Date: Mon, 25 Apr 2016 21:10:50 -0700
> Cc: "N. Jackson" <nljlistbox2@gmail.com>, 23377@debbugs.gnu.org
> 
> Drew Adams wrote:
> > if the main reason to disable it is for performance in
> > an extreme use case (C-x 8 RET TAB)
> 
> It's not that extreme. It's natural for a user to get the whole list and then
> use C-s to find the desired character.
> 
> Also, there's a problem even in less-"extreme" cases. I just now tried 'C-x 8
> RET B TAB', which lists every character whose name starts with "B", and this
> took about 18 s on my platform, whereas with Emacs 24.5 it is almost
> instantaneous.  18 s is waayyy to slow for this sort of user interaction.

It takes less than 2 sec here.  The original recipe takes 11 sec.
This is a 32-bit optimized build with wide ints, so a build without
that option should be even faster.  IOW, on a reasonably modern
platform and the default build options, the feature performs with
reasonable speed.  E.g., this:

  C-x C-f /foo/bar/ TAB TAB

takes 2.5 sec here for a /foo/bar/ with more than 3600 files.  So it's
not like we don't see slow completion sometimes.

> Stefan's suggestion of a config var sounds good. It's a bit late to be adding
> features to the emacs-25 branch, though, so I'm inclined to revert in emacs-25
> (with a "do not merge to master") and add a customizable var in master.

No, please don't revert; it's too late for that.  Adding an option is
okay, and it should be ON by default, to keep the behavior we had in
Emacs 25, including all the pretests, until now.  A NEWS entry about
this would also be nice.

Btw, one way to make this much faster is install the fonts for the
characters that display as boxes with hex codepoints.  Emacs only
looks up fonts for characters it needs to display, and the latest
addition of Unicode added quite a few characters shown in the first
screen of *Completion*, which I suppose have no fonts on your systems
(I, too, don't have them).  In addition, Emacs 25 shows a larger
window for the *Completions* buffer by default, which also contributes
to the time it takes.

Thanks.





  parent reply	other threads:[~2016-04-26  6:21 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-26  0:25 bug#23377: 25.0.93; Completion is extremely slow for insert-char N. Jackson
2016-04-26  1:04 ` Paul Eggert
2016-04-26  2:17   ` Stefan Monnier
2016-04-26  2:51     ` Drew Adams
2016-04-26  4:10       ` Paul Eggert
2016-04-26  5:43         ` Drew Adams
2016-04-26  6:21         ` Eli Zaretskii [this message]
2016-04-26  6:34         ` Eli Zaretskii
2016-04-26 13:27           ` N. Jackson
2016-04-26 20:41             ` Paul Eggert
2016-04-27  1:31               ` N. Jackson
2016-04-26 11:51         ` Stefan Monnier
2016-04-26 15:49           ` Paul Eggert
2016-04-26 16:04             ` Drew Adams
2016-04-26 16:59               ` Paul Eggert
2016-04-26 17:15                 ` Eli Zaretskii
2016-04-26 18:52                 ` N. Jackson
2016-04-26 19:10                   ` Eli Zaretskii
2016-04-27  2:09                     ` N. Jackson
     [not found]                   ` <<83r3dsyynq.fsf@gnu.org>
2016-04-26 20:18                     ` Drew Adams
2016-04-26 16:27             ` Eli Zaretskii
2016-04-26 23:58               ` John Wiegley
2016-04-27  0:26                 ` Paul Eggert
2016-04-27  0:53                   ` Lars Magne Ingebrigtsen
2016-04-27  1:19                     ` John Wiegley
2016-04-27  7:24                       ` Eli Zaretskii
2016-04-27 12:27                         ` Stefan Monnier
2016-04-27 19:04                           ` John Wiegley
2016-04-27  0:10             ` Stefan Monnier
2016-04-26  6:26 ` Eli Zaretskii
2016-04-27  1:54   ` N. Jackson
2016-04-27  7:21     ` Eli Zaretskii
2016-04-27 15:16       ` N. Jackson
2017-09-30 16:40         ` Noam Postavsky
2017-09-30 20:27           ` N. Jackson
2019-06-25 13:53             ` Lars Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83potc28ll.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=23377@debbugs.gnu.org \
    --cc=eggert@cs.ucla.edu \
    --cc=monnier@IRO.UMontreal.CA \
    --cc=nljlistbox2@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.