On Tue, 19 Mar 2002, Ben Wing wrote:
Daniel Pittman wrote:
On Mon, 18 Mar 2002, Ben Wing wrote:
[...]
Lucky you. I get ~70MB of image by the time it hits the splash
screen, though memprof reports that only 25MB or so of that lives
through an initial GC at that stage.
[...]
What /does/ show up is the reason why the XEmacs image balloons
to
80MB or so during startup.
Fdowncase, through casify_object and make_string mallocs
36,057,648 bytes of data during startup. That seems ... excessive
to me.
[...]
well, it probably shouldn't be happening at all. do you still get
the
same problem if you run -vanilla?
That /is/ running with -vanilla -- running my normal startup is the
other report I posted, with an image of ~480MB during startup and ~350MB
of it garbage...
[...]
if so, we should start with the call to Fdowncase. i only see a few
places where this could possibly be ballooning -- either in the x font
code or maybe in the mule startup code, through assoc-ignore-case.
When I caught it about half way through the startup it was doing
`assoc-ignore-case' in the MULE startup code. This wasn't a rigorous
sample, though, and might have missed other causes.
try compiling without mule support and see whether the problem goes
away.
In progress ... and that resolves it. A '-vanilla -q' run built without
MULE hit 17MB total allocated, and almost no garbage, during startup.
It's also worth noting that it seemed to show a much lower level of
garbage accumulating while starting up. Now, if only I didn't need MULE
to get International characters I would be a happy camper. :)
another thing to do, if you have the patience, is to modify the
Fdowncase code by inserting a call to debug_backtrace() [or maybe
debug_short_backtrace()]. save stderr to a file and you should have a
REALLY BIG file which you should be able to process to find out where
the call is coming from.
Ah, good. That looks like useful. If I get a bit of time, which I
should[1], I hope to try and further trace down where the memory
allocation is actually happening in the core Lisp evaluation code.
Daniel
Footnotes:
[1] My G/F is doing dress rehearsals and the evenings are ... boring. :)
--
There is no happiness in having or in getting, but only in giving.
-- Henry Drummond