GNU bug report logs -
#9589
23.1; Excessive CPU consumption for VERY long lines
Previous Next
Reported by: "Ludwig, Mark" <ludwig.mark <at> siemens.com>
Date: Sat, 24 Sep 2011 01:45:02 UTC
Severity: normal
Merged with 3219,
4123,
13675,
15555,
18530,
22143,
24523,
30457,
32523,
40007
Found in versions 23.1, 24.2, 24.2.93, 24.3, 24.5, 26.0.91, 27.0.50, 28.0.50
Fixed in version 29.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.
Your bug report will be posted to the bug-gnu-emacs <at> gnu.org mailing list,
and to the gnu.emacs.bug news group.
Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:
The information below (about the instance of Emacs in which I started this bug report) is irrelevant, because the problem was not exercised in this instance of Emacs, but I have left it, lest I be accused of not supplying the standard text.
The problem context is a text file with one or more extremely long lines. For example, you may use C-u 8 0 0 0 0 0 . (to get 800,000 "." characters). Do this in the middle of an otherwise normal text file that fills several screens, so that starting at beginning of the buffer you may issue C-v at least once before the long line becomes visible, and similarly have sufficient shorter lines at the end of the buffer so that you may issue M-v at least once before the long line becomes visible. The problem is that some commands work very slowly when this long line is visible (in the case of C-v, M-v and C-l) while others are quick. Once point is positioned in the long line, I found that the quick commands include C-a, M-b, M-<, and M->. Slow commands include C-e, M-f, C-p, and C-n. I did not try to go through all of the movement commands to sniff out which are quick and which are slow. On my machine, quick is instantaneous, while slow takes up to 7 seconds to respond. The slowness seems to vary with the column of point (larger column number reported from C-x =). Starting at the beginning of the long line, several C-v commands are quick, but they slow down as point moves further into the long line. The slowest position is the end of the line, where C-v and M-v take the most time.
I did not attempt to measure the performance with longer or shorter lines, but I imagine the slowness (for the slow commands) is linear with the length of the line. I leave that experimentation to you.
Thanks.
If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
`bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
c:/Apps/emacs-23.1/etc/DEBUG for instructions.
In GNU Emacs 23.1.1 (i386-mingw-nt6.1.7600)
of 2009-07-29 on SOFT-MJASON
Windowing system distributor `Microsoft Corp.', version 6.1.7600
configured using `configure --with-gcc (4.4)'
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: nil
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: ENU
value of $XMODIFIERS: nil
locale-coding-system: cp1252
default-enable-multibyte-characters: t
Major mode: Text
Minor modes in effect:
display-time-mode: t
tooltip-mode: t
tool-bar-mode: t
mouse-wheel-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
global-auto-composition-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
Recent input:
C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p
C-p C-l C-n C-n C-n C-n C-n C-p C-p C-p C-p C-p C-p
C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-SPC C-n
C-n C-n C-n C-w C-x C-s C-z <switch-frame> C-v <switch-frame>
C-p C-p C-p C-p C-p C-l C-n C-n C-SPC C-p C-p C-p C-p
C-p C-p C-p C-p C-p C-p C-w C-x C-s C-SPC C-p C-p C-p
C-p C-p C-p C-p C-w C-l C-SPC C-p C-p C-p C-p C-p C-p
C-p C-p C-p C-p C-p C-p C-p C-p C-w C-l C-x C-s C-p
C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p
C-p C-p C-SPC C-n C-n C-w C-l C-p C-p C-p C-p C-p C-SPC
C-n C-n C-n C-w C-k C-k C-k C-k C-k C-k C-p C-p C-p
C-p C-p C-l C-x C-s C-p C-p C-p C-p C-p C-p C-p C-p
C-p C-p C-p C-p C-p C-p C-p C-p C-k C-k C-k C-k C-k
C-k C-x C-s C-x C-o C-x C-s M-r M-v C-p C-p C-p C-p
C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p
C-p C-p C-p C-p C-p C-p C-p C-SPC C-n C-n C-n C-n C-n
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n
C-n C-n C-n C-n C-n C-w C-x C-o C-l C-SPC C-p C-p C-p
C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-w
C-l C-x C-s C-l C-p C-p C-p C-p C-p C-p C-p C-p C-p
C-p C-p C-l M-v M-v M-v M-r C-p C-p C-p C-p C-p C-p
C-p C-p C-p C-p C-l C-p C-l C-p C-p C-p C-p C-p C-p
C-p C-p C-p C-p C-p C-l <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<menu-bar> <help-menu> <send-emacs-bug-report>
Recent messages:
Saving file d:/mrl/Today.txt...
Wrote d:/mrl/Today.txt
Saving file d:/mrl/Today.txt...
Wrote d:/mrl/Today.txt
Saving file d:/mrl/Today.txt...
Wrote d:/mrl/Today.txt
Mark set
Mark activated
Saving file d:/mrl/Today.txt...
Wrote d:/mrl/Today.txt
This bug report was last modified 2 years and 323 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.