robert delius royar writes:
You're very welcome.
I noticed that after the chnage you mentioned, loading the 150K
sendmail deliver.c file took over 10 minutes. I kept meaning to
report the problem, but could not get around to it.
If you find yourself "not getting around to it" twice, just submit
whatever you can remember offhand. We know you usually take care, and
"making a good bug report" is only Rule #2. Rule #1 is "make the
report"!:-)
[Aside to first-time reporters: the same advice goes for you, but if
you make too many undiagnosable reports without making several "good"
reports as well, your reputation will be harmed and your reports will
get low priority.]
An 80K elisp file I keep loaded also took a long time. For both
files, the slowdown appeared to be in the "fontifying buffer"
process.
I believe that in modern XEmacsen profiling is always enabled. So you
can do "M-x profile-command RET font-lock-fontify-buffer RET"[1] and
attach the output. Don't worry about error-checking configurations
(if error-checking is enabled, the output warns that it may be
inaccurate due to error-checking). For a performance *regression*
accuracy in ticks/function is not important.[2]
What we'll be looking for in the profiling output is anomolies in the
number of function calls, especially expensive ones. These are
recorded accurately by Ffuncall itself, and in a few hot spots at the
C level as well.
Footnotes:
[1] Or "M-x profile-key-sequence RET C-x C-f deliver.c RET" for that
matter. If you can repeatedly cause XEmacs to perform badly, just use
profile-command or profile-key-sequence on the last thing in the
recipe. Narrowing down the regression as much as possible will
probably be done by the profiler itself!
[2] For optimization requests ("this has always been annoyingly slow,
please speed it up"), a non-error-checking build is important.
There's no point in optimizing something that only takes 0.5% of the
ticks normally, but sometimes error-checking can promote that to 5% or
even 10%!
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-beta