all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Andreas Schwab <schwab@suse.de>
Cc: emacs-devel@gnu.org
Subject: Re: [harder@ifa.au.dk: Speed of all-completions]
Date: Mon, 14 Jun 2004 00:22:13 +0200	[thread overview]
Message-ID: <jehdtfp08a.fsf@sykes.suse.de> (raw)
In-Reply-To: <E1BZcqQ-0008Kh-Eh@fencepost.gnu.org> (Richard Stallman's message of "Sun, 13 Jun 2004 17:48:50 -0400")

Richard Stallman <rms@gnu.org> writes:

> Would someone please take a look at this?
>
> From: Jesper Harder <harder@ifa.au.dk>
> Subject: Speed of all-completions
> To: emacs-pretest-bug@gnu.org
> Date: Sun, 30 May 2004 17:37:56 +0200
> X-Sent: 2 weeks, 6 hours, 17 minutes, 49 seconds ago
>
> In GNU Emacs 21.3.50.10 (i686-pc-linux-gnu, GTK+ Version 2.0.2)
>  of 2004-05-25 on defun.localdomain
>
> I use icomplete-mode and I've noticed that it feels more sluggish in
> cvs Emacs than in Emacs 21.3.
>
> Profiling shows that the bulk of the time is spent in
> `all-completions', so I tried to benchmark it with this example:
>
> (defmacro time (form)
>   `(let ((t1 (float-time)))
>     ,form
>     (- (float-time) t1)))
>
> (let ((oba (make-vector 255 0)))
>   (dotimes (i 10000)
>     (intern (format "f%i" i) oba))
>   (time
>    (all-completions "f" oba)))
>
> The time used was:
>
>   cvs Emacs:   0.16448211669921875
>   Emacs 21.3:  0.01507115364074707

This is due to this change:

	(Ftry_completion, Fall_completions, Ftest_completion): Bind
	case-fold-search to the value of completion-ignore-case when
	checking completion-regexp-list.

I've checked in a fix that avoids the overhead of specbind when
completion-regexp-list is empty.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Maxfeldstraße 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

  reply	other threads:[~2004-06-13 22:22 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-06-13 21:48 [harder@ifa.au.dk: Speed of all-completions] Richard Stallman
2004-06-13 22:22 ` Andreas Schwab [this message]
2004-06-14 23:27   ` David Kastrup
2004-06-15  0:04     ` Luc Teirlinck
2004-06-15  7:29       ` David Kastrup
2004-06-15 11:00     ` Andreas Schwab
2004-06-15 11:28       ` David Kastrup
2004-06-15 12:13         ` Andreas Schwab
2004-06-15 13:27           ` David Kastrup
2004-06-15 13:40             ` Andreas Schwab
2004-06-15 13:48               ` David Kastrup
2004-06-15 14:08                 ` Andreas Schwab
2004-06-15 14:19                   ` David Kastrup
2004-06-15 14:32                     ` Andreas Schwab
2004-06-15 15:42             ` Luc Teirlinck
2004-06-15 15:55               ` David Kastrup
2004-06-18 18:45                 ` Luc Teirlinck
2004-06-19  3:19                   ` Richard Stallman
2004-06-20 22:35                     ` David Kastrup
2004-06-15 18:13   ` Richard Stallman

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=jehdtfp08a.fsf@sykes.suse.de \
    --to=schwab@suse.de \
    --cc=emacs-devel@gnu.org \
    /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.