>>>> "Hrvoje" == Hrvoje Niksic
<hniksic(a)xemacs.org> writes:
Hrvoje> Steve Youngs <sryoungs(a)bigpond.net.au> writes:
Hrvoje> Maybe XEmacs is waiting for the X server a lot? The
Hrvoje> `:bold t' thing sounds like a bunch of calls to `font.el',
Hrvoje> which might not be optimized for speed.
I don't think this matters. font.el manipulates Lisp structures, and
AFAIK does not itself call X APIs. If there is optimization to be
done, it should be done at a lower level. And the `:bold t' thing
stinks of custom, which _has_ been partially synched to recent GNU by
somebody who wasn't entirely sure of what he's doing (ie, blame me not
custom, but custom code may be one place to look).
What might kill you is huge numbers of calls to XLoadQueryFont and
friends. The X API is designed so that those should be called lazily
by the app. They're all roundtrip requests. (I'm pretty sure that
the output of XListFonts is cached at C-level, but maybe something
goes wrong with that.)
More likely the problems are in cus-face.el or faces.el
(make-face-bold and friends). But even so ... I don't think it's
possible to batch calls to the font APIs effectively, so unless XEmacs
is making multiple queries for non-existent fonts or something?
And of course this doesn't explain why 21.5 would be slower than 21.4;
I don't think the C-level X font handling has changed since 21.4.
--
Institute of Policy and Planning Sciences
http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Ask not how you can "do" free software business;
ask what your business can "do for" free software.