unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* Re: ediff-next-difference very slow
@ 2002-04-19 21:31 Michael Kifer
  2002-04-20 12:02 ` Roland Winkler
  2002-04-22  8:46 ` Ralf Fassel
  0 siblings, 2 replies; 8+ messages in thread
From: Michael Kifer @ 2002-04-19 21:31 UTC (permalink / raw)
  Cc: bug-gnu-emacs



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.

^ permalink raw reply	[flat|nested] 8+ messages in thread
* ediff-next-difference very slow
@ 2002-04-17 13:21 Roland Winkler
  2002-04-17 14:56 ` Eli Zaretskii
  0 siblings, 1 reply; 8+ messages in thread
From: Roland Winkler @ 2002-04-17 13:21 UTC (permalink / raw)


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.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2002-04-22  8:46 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-04-19 21:31 ediff-next-difference very slow Michael Kifer
2002-04-20 12:02 ` Roland Winkler
2002-04-22  8:46 ` Ralf Fassel
  -- strict thread matches above, loose matches on Subject: below --
2002-04-17 13:21 Roland Winkler
2002-04-17 14:56 ` Eli Zaretskii
2002-04-17 15:14   ` Roland Winkler
2002-04-17 17:11     ` Eli Zaretskii
2002-04-18 18:44     ` Richard Stallman

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).