Large array slows down Squeak

Stefan Matthias Aust sma at baltic-online.de
Wed May 31 08:00:45 UTC 2000


Andreas,

"Raab, Andreas" wrote:
> 
> Stefan,
> 
> The garbage collector's tenuring policy doesn't take the size of an object
> into account. It just counts the objects and will tenure them if there are
> enough objects. That leads to the problem that a huge array will be seen as
> a single object and therefore always kept in young space. The workaround is
> to force a full garbage collection (e.g., Smalltalk garbageCollect) to make
> all existing objects 'old'.

This was, what I wanted to get confirmed.  VisualWorks for example never 
allocates large objects (you can configure what 'large' means) in the
new space
but in a special large object space.  This might be a good optimization
for
Squeak, too.

And there's another interesting observation.  In Morphic, the delay
because
of tenuring is much larger than in MVC.  This is probably because
Morphic 
creates much more short-lived object garbage.

Thinking about this, could this be the reason, why Morphic always feels
a
little bit slower than MVC?  If yes, then the best approach to speed up
Morphic would be to reduce the number of temporary objects...


bye

-- 
Stefan Matthias Aust             Projektleiter/Softwareentwicklung
Baltic Online Computer GmbH,    Alter Markt 1-2,        24103 Kiel
Fon: +49 (0) 431-54003-0 Fax: -99      http://www.baltic-online.de





More information about the Squeak-dev mailing list