[Top][All Lists]

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

bug#3032: Major performance problem

From: Michael Linck
Subject: bug#3032: Major performance problem
Date: Fri, 17 Apr 2009 14:31:16 -0600
User-agent: Thunderbird (X11/20090320)

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 address@hidden 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:

If you make a C++ header and try to define a long string, you can bring
emacs to a grinding halt.  The scenario is as follows:  I need a test
header to return the equivalent of some lengthy http resources for unit
testing and I can't have file system interaction, so I have to hard code
the scenarios in a variety of header files for the unit tests.  For each
resource, I need a string constant.  So I have to copy the body of the
resource into the cxx header. Then backslash escape the quotes, then replace
newlines with '\n"[newline]"' and then auto indent the buffer.
For a resource that is *merely* 8000 lines (that 8 thousand, not eight
trillion) the simple quote escaping (replace '"' with '\"') takes more than
5-10 minutes, the newlines (no more than 1 per line) takes 5-10 minutes also.
This BUG however, is filed because the indentation has now been in progress
for over 3 hours!  It was 37 percent complete an hour ago, now it's 40%
complete. That emacs instance is using up a entire CPU core, and the process of indenting a bit of code seems to be slowing down hard as it goes. 37% the
first 2 hours, 3% the following hour.  I expect this *maybe* finish over the
weekend.  I've been using emacs for at least 10 years, and this is shocking.

Another minor gripe is that I tried having emacs send this bug previously, but I had to decide to send it again manually, because it gives no indication of
whether the bug e-mail was actually sent or not.  Anyway, in my professional
opinion as a developer, it's time to put a stop to any "feature" updates for e-macs and hunker down with some optimizations.
emacs version 22.3.1

Thanks, guys.

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
/usr/share/emacs/22.3/etc/DEBUG for instructions.

In GNU Emacs 22.3.1 (i386-redhat-linux-gnu, GTK+ Version 2.14.7)
of 2009-02-09 on x86-5.fedora.phx.redhat.com
Windowing system distributor `The X.Org Foundation', version 11.0.10503000
configured using `configure '--build=i386-redhat-linux-gnu' '--host=i386-redhat-linux-gnu' '--target=i386-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--with-x-toolkit=gtk' 'build_alias=i386-redhat-linux-gnu' 'host_alias=i386-redhat-linux-gnu' 'target_alias=i386-redhat-linux-gnu' 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables''

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: en_US.UTF-8
 locale-coding-system: utf-8
 default-enable-multibyte-characters: t

Major mode: C/lh

Minor modes in effect:
 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
 unify-8859-on-encoding-mode: t
 utf-translate-cjk-mode: t
 auto-compression-mode: t
 column-number-mode: t
 line-number-mode: t
 transient-mark-mode: identity
 abbrev-mode: t

Recent input:
<left> <left> <left> <left> <left> <left> <left> <left>
<left> <left> <left> <left> <left> <left> <left> <left>
<left> <left> <left> <left> <left> <left> <left> <left>
<left> <left> <left> <return> <delete> <end> <delete>
SPC <end> <left> <up> <down-mouse-1> <mouse-1> <tab>
<return> <delete> <end> <delete> SPC <right> <right>
<right> <right> <right> <C-right> <C-right> <C-right>
<C-right> <C-right> <return> <tab> <backspace> <backspace>
<backspace> <backspace> <backspace> <delete> <end>
<delete> SPC <C-right> <C-right> <C-right> <C-right>
<C-right> <C-right> <return> <tab> <backspace> <backspace>
<backspace> <backspace> <backspace> <backspace> <backspace>
<backspace> <delete> <end> <delete> SPC <C-right> <C-right>
<C-right> <C-right> <C-right> <C-right> <C-right> <return>
<delete> <end> <delete> SPC <C-right> <C-right> <C-right>
<C-right> <C-right> <C-right> <C-right> <return> <delete>
<end> <delete> SPC <C-right> <C-right> <C-right> <C-right>
<C-right> <C-right> <C-right> <return> <delete> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <down-mouse-1> <mouse-1> <return>
e m a c s SPC v e r s i o n SPC i s SPC 2 2 . 3 . 1
<backspace> 1 <help-echo> <down-mouse-1> <mouse-1>
<escape> <escape> <escape> <help-echo> <help-echo>
<down-mouse-5> <mouse-5> <double-down-mouse-5> <double-mouse-5>
<down-mouse-4> <mouse-4> <double-down-mouse-4> <double-mouse-4>
<triple-down-mouse-4> <triple-mouse-4> <down-mouse-4>
<mouse-4> <double-down-mouse-4> <double-mouse-4> <down-mouse-5>
<mouse-5> <double-down-mouse-5> <double-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <down-mouse-5> <mouse-5> <double-down-mouse-5>
<double-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<down-mouse-5> <mouse-5> <double-down-mouse-5> <double-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <down-mouse-4>
<mouse-4> <double-down-mouse-4> <double-mouse-4> <triple-down-mouse-4>
<triple-mouse-4> <triple-down-mouse-4> <triple-mouse-4>
<down-mouse-4> <mouse-4> <double-down-mouse-4> <double-mouse-4>
<triple-down-mouse-4> <triple-mouse-4> <triple-down-mouse-4>
<triple-mouse-4> <triple-down-mouse-4> <triple-mouse-4>
<triple-down-mouse-4> <triple-mouse-4> <triple-down-mouse-4>
<triple-mouse-4> <triple-down-mouse-4> <triple-mouse-4>
<help-echo> <help-echo> <help-echo> <help-echo> <down-mouse-1>
<mouse-1> C-c C-c y e s <return> <help-echo> <help-echo>
<down-mouse-1> <mouse-1> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <down-mouse-1>
<mouse-1> <help-echo> <down-mouse-1> <mouse-1> <help-echo>
<down-mouse-1> <mouse-1> <down-mouse-4> <mouse-4> <double-down-mouse-4>
<double-mouse-4> <triple-down-mouse-4> <triple-mouse-4>
<down-mouse-5> <mouse-5> <double-down-mouse-5> <double-mouse-5>
<down-mouse-5> <mouse-5> <down-mouse-5> <mouse-5> <double-down-mouse-5>
<double-mouse-5> <down-mouse-4> <mouse-4> <down-mouse-1>
<mouse-1> <down-mouse-1> <mouse-1> M-x r e p o r t
- e m a b <backspace> c s - b u g <return>

Recent messages:
byte-code: Beginning of buffer [7 times]

reply via email to

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