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

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

Re: ediff-next-difference very slow


From: Michael Kifer
Subject: Re: ediff-next-difference very slow
Date: Fri, 19 Apr 2002 17:31:25 -0400

To help us find the culprit, we need more info.

Do you do something unusual, such as running long ediff (not emacs) sessions
that last several days?
Do you see the slowdown regardless of whether you used ediff in the prior
days or it depends on how many times you used ediff within the same emacs
session?
Finally, did you notice a similar slowdown with other emacs applications?


> In GNU Emacs 21.2.1 (i386-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
>  of 2002-04-09 on tfkp12
> configured using `configure  --prefix=/nfs/common 
> --libexecdir=/nfs/common/lib 
> --bindir=/nfs/common/lib/emacs/21.2/bin/i686-Linux --mandir=/nfs/common/share/
> man --infodir=/nfs/common/share/info --with-gcc --with-pop --with-x 
> --with-x-toolkit=athena i386-pc-linux'
> Important settings:
>   value of $LC_ALL: nil
>   value of $LC_COLLATE: POSIX
>   value of $LC_CTYPE: nil
>   value of $LC_MESSAGES: nil
>   value of $LC_MONETARY: nil
>   value of $LC_NUMERIC: nil
>   value of $LC_TIME: nil
>   value of $LANG: en_US
>   locale-coding-system: iso-latin-1
>   default-enable-multibyte-characters: nil
> 
> Please describe exactly what actions triggered the bug
> and the precise symptoms of the bug:
> 
> 
> Since I started working with GNU emacs 21.1 ediff has become rather
> slow for me. Stepping through the differences between two buffers
> using ediff-next-difference takes much longer than with GNU emacs
> 20.4 I used earlier. Now I have emacs 21.2 and it is still the same.
> 
> Now I tried to pin down more accurately what `slow' means, and I was
> rather surprised: With a freshly started emacs 21.2, ediff is as
> fast as it used to be, no matter whether I use 
> `emacs --no-init-file' or whether I load my fairly big .emacs.
> (I can't make an accurate comparison because I don't have emacs 20.4
> anymore.)
> 
> But usually my emacs sessions run for a long time. My present
> session started five days ago. Then ediff-next-difference is much
> slower. To be more specific:
> 
> I created the two files
> 
> cat foo <<EOF
> foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo
> foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo
> 
> foo foo bar foo foo bar foo foo bar foo foo bar foo foo bar
> foo foo bar foo foo bar foo foo bar foo foo bar foo foo bar
> foo foo bar foo foo bar foo foo bar foo foo bar foo foo bar
> 
> foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo
> foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo
> 
> foo foo bar foo foo bar foo foo bar foo foo bar foo foo bar
> foo foo bar foo foo bar foo foo bar foo foo bar foo foo bar
> foo foo bar foo foo bar foo foo bar foo foo bar foo foo bar
> 
> foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo
> foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo
> EOF
> 
> cat bar <<EOF
> foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo
> foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo
> 
> foo bar bar foo bar bar foo bar bar foo bar bar foo bar bar
> foo bar bar foo bar bar foo bar bar foo bar bar foo bar bar
> foo bar bar foo bar bar foo bar bar foo bar bar foo bar bar
> 
> foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo
> foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo
> 
> foo bar bar foo bar bar foo bar bar foo bar bar foo bar bar
> foo bar bar foo bar bar foo bar bar foo bar bar foo bar bar
> foo bar bar foo bar bar foo bar bar foo bar bar foo bar bar
> 
> foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo
> foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo
> EOF
> 
> For some reason I don't understand, elp.el doesn't work with
> ediff-next-difference. It gave me the error message
> 
> elp-reset-function: ediff-next-difference is not instrumented for profiling
> 
> So I defined
> 
> (defun my-ediff-next ()
>   "Profiling ediff-next-difference."
>   (interactive)
>   (let ((time-start (nth 1 (current-time))))
>     (ediff-next-difference)
>     (message "Time difference: %s" (- (nth 1 (current-time)) time-start))))
> 
> According to my-ediff-next, ediff-next-difference requires 1 or 2
> seconds in a fresh emacs session on my old pentium processor. But an
> emacs session that has been running for many days requires 6 or
> 7 seconds for each of the two differences between the files foo
> and bar.
> 
> What's going on here? Is this a known problem? How can I try to
> further pin down why ediff becomes so slow?
> 
> Roland
> 
> 
> PS: node `Compilation Tips' in the elisp manual says
> 
>    * Profile your program with the `profile' library or the `elp'
>      library.  See the files `profile.el' and `elp.el' for instructions.
> 
> However, in profile.el it says that profile.el has become obsolete.





reply via email to

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