emacs-pretest-bug
[Top][All Lists]
Advanced

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

Re: Fwd: Serious performace problems on Windows XP with new(!) GNU Emacs


From: martin rudalics
Subject: Re: Fwd: Serious performace problems on Windows XP with new(!) GNU Emacs v22 (both patched and unpatched EmacsW32 were tried)
Date: Thu, 19 Oct 2006 17:57:09 +0200
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)

>> > It seems whitespace-buffer slows down my Emacs so terribly: my .emacs
>> > sets whitespace-global-mode with its all bells and whistles....
>> > finally I found that if I M-x whitespace-buffer with my critical file
>> > opened in the buffer (regardless of whitespace-global-mode setting) I
>> > get back the control after that long time what I wrote last time.
>> >
>> > I tried to modify whitespace-buffer and it seems that
>> > whitespace-buffer-search is so slow. However I see that it is not
>> > really modified between the fast (old) and slow (new) Emacses... and
>> > does almost only a re-search-forward. Now I don't have the C sources
>> > for both (fast and slow) Emacses. Maybe re-search-forward was
>> > modified?

Emacs 21.3 had whitespace 3.1 which did not highlight incriminated areas
and used slightly simpler regexps.  Emacs 22 has whitespace 3.5 which
uses overlays to highlight such areas.  The overhead for maintaining
these overlays may grow non-linearly with respect to their number.  Your

> 3. unzip and then visit the attached slowtst.el (I drag&dropped it)

has some 3500 lines which will produce approximately 7000 overlays.

In addition, `whitespace-buffer' may unconditionally trigger a non-idle
timer which may trigger further executions of `whitespace-buffer'.  The
doc-string of the timer says:

"Timer object used to rescan the files in buffers that have been modified."

That's false, whitespace doesn't check whether a file is modified.
Moreover, quitting is inhibited during the scans, hence if

> 4. M-x whitespace-buffer: it took ~20-25 seconds for me! (I have a

holds - my mileage is about a minute - Emacs will be unresponsive for
that time.





reply via email to

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