emacs-devel
[Top][All Lists]
Advanced

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

Re: address@hidden: Speed of all-completions]


From: Andreas Schwab
Subject: Re: address@hidden: Speed of all-completions]
Date: Mon, 14 Jun 2004 00:22:13 +0200
User-agent: Gnus/5.110002 (No Gnus v0.2) Emacs/21.3.50 (gnu/linux)

Richard Stallman <address@hidden> writes:

> Would someone please take a look at this?
>
> From: Jesper Harder <address@hidden>
> Subject: Speed of all-completions
> To: address@hidden
> 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, address@hidden
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 via email to

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