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