[Top][All Lists]

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

Re: cperl + isearch + font-lock-multiline sometimes very slow

From: Klaus Zeitler
Subject: Re: cperl + isearch + font-lock-multiline sometimes very slow
Date: Fri, 20 Oct 2006 14:05:00 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (usg-unix-v)

>>>>> "Chong" == Chong Yidong <address@hidden> writes:
    Chong> I can't reproduce this.  Could you provide a detailed recipe and/or
    Chong> test file?

I've now managed to reduce my .emacs file from 4000 lines to the following
3 lines:
--- snip ---
(setq font-lock-multiline t)
(require 'printing "printing" 'no-error)
(fset 'perl-mode 'cperl-mode)
--- snip ---

With these 3 lines I can still observe the problem.
1. Start emacs with .emacs containing the 3 lines above
2. load a Perl file (not too small), I use perl5db.pl from the Perl distribution
3. Watch emacs CPU usage

After approximaetly 25 seconds, the CPU usage climbs for nearly 3 minutes
to 55% and emacs behaves very sluggish. Afterwards emacs behaves normal.
No need for isearch, that was obviously a misinterpretation. Don't know
what the package 'printing' has to do with it. Maybe it's a problem with
menu-bar updates and stealth fontification.

    Chong> Also, see if the slowdown goes away if you increase REGEXP_CACHE_SIZE
    Chong> to (e.g.) 40 in search.c, as Kim suggested.
    Chong> #define REGEXP_CACHE_SIZE 20

Changing to REGEXP_CACHE_SIZE to 40 didn't change the behavior.

BTW changing REGEXP_CACHE_SIZE to a value >40 caused a core with temacs
gcc  -L/usr/ccs/lib `./prefix-args -Xlinker -R/usr/openwin/lib 
-R/usr/local/gnu/lib -R/opt/exp/gnu/lib -R/opt/exp/lib -R/opt/exp/lib/xpm/lib` 
`{ set x ; test "$2" = "USE_MOTIF"; } || echo ' -R/usr/dt/lib -L/usr/dt/lib'` 
-L/usr/openwin/lib -L/usr/local/gnu/lib -L/opt/exp/gnu/lib -L/opt/exp/lib 
-L/opt/exp/lib/xpm/lib -o temacs  dispnew.o frame.o scroll.o xdisp.o xmenu.o 
window.o charset.o coding.o category.o ccl.o cm.o term.o xfaces.o xterm.o 
xfns.o xselect.o xrdb.o fontset.o xsmfns.o fringe.o image.o  emacs.o keyboard.o 
macros.o keymap.o sysdep.o buffer.o filelock.o insdel.o marker.o minibuf.o 
fileio.o dired.o filemode.o cmds.o casetab.o casefiddle.o indent.o search.o 
regex.o undo.o alloc.o data.o doc.o editfns.o callint.o eval.o floatfns.o fns.o 
print.o lread.o abbrev.o syntax.o unexelf.o bytecode.o process.o callproc.o 
region-cache.o sound.o atimer.o doprnt.o strftime.o intervals.o textprop.o 
composite.o md5.o    terminfo.o lastfile.o gmalloc.o ralloc.o vm-limit.o  
widget.o mktime.o   ../lwlib/liblw.a -L/usr/openwin/lib -L/usr/local/gnu/lib 
-L/opt/exp/gnu/lib -L/opt/exp/lib -L/opt/exp/lib/xpm/lib -lXm -lgen -lXp -lXmu 
-lXt -lSM -lICE -lXext -ltiff -ljpeg -lpng -lz -lm -lungif -lXpm -lX11  
-lsocket -lnsl -lkstat -lcurses -lkstat  -lm
./temacs --batch --load loadup bootstrap
make[2]: *** [bootstrap-emacs] Abort (core dumped)
make[2]: Leaving directory `/vol/freeware/SunOS-5.8/build/emacs-cvs/src'
make[1]: *** [bootstrap-build] Error 2



|  Klaus Zeitler      Lucent Technologies  |
|  Email:             address@hidden  |
Psychiatrists say that one out of four people are mentally
ill.  Check three friends.  If they're OK, you're it.

reply via email to

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