Monticello and image bloat
Chris Muller
chris at funkyobjects.org
Mon May 2 22:03:05 UTC 2005
I've been experiencing gradual image-growth as I develop code, and now my
100-meg image has become unwieldly. SpaceTally reports 59MB used on String
instances! The first few entries of
String allInstances asBag sortedCounts
are:
a SortedCollection(48161->'cmm' 39710->'' 6481->'building SAR component'
3582->'New prereqs.' 1818->'empty log message' 1543->'Magma client-private'
1432->'Ma time objects-cmm.1' 1263->'<historical>' 1008->'trying Monticello'
...)
These appear to be Strings of Monticello's domain. But why so many duplicates?
6481 copies of 'building SAR component'? I remember saving a *few* (maybe 10)
with that description, but why are there so many of it now? Is there any way
to share the same String instance instead?
Using the 'explore pointers' function, I traced one of them to
MCCacheRepository. By niling out its 'default' class-instance variable and
immediately saving the image chopped off TWENTY megabytes! Ok, making
progress. But my String counts are still extremely high:
a SortedCollection(30377->'cmm' 27930->'' 3804->'building SAR component'
2237->'New prereqs.' 1010->'empty log message' 957->'<historical>' 847->'Magma
client-private' 801->'cmm 2/17/2005 10:47' 784->'Ma time objects-cmm.1' ...)
How can I clean out more of these?
Obviously, 'cmm' is my developer initials. Is it feasible to share this
String?
What Monticello action(s) should I avoid to keep this from happening? I found
one; looking at the historial entries of a package seems to cause rapid
image-growth.. Are there others?
Thank you,
Chris
More information about the Squeak-dev
mailing list
|