GOUBIER Thierry wrote:
What i'd be worried with is the high number of 
PackageTreePackageNodeModel->102250. Each node model suppose a NodeMorph, and 
so on... And, stef, I don't think your test was loading one hundred thousand 
packages, isn't it?

I'd look into the package tree structure and updates.

Thierry

In the past to investigate similar stuff I've used a bad hack like this...

1. In Workspace evaluate:
Smalltalk at: #senders put: Bag new.

2. Define method...
PackageTreePackageNodeModel class>>new
   | senderString |
senderString := thisContext sender printString , '<--' ,
       thisContext sender sender printString , '<--' ,
thisContext sender sender sender printString . "to whatever depth is useful"
   (Smalltalk at: #senders) add: senderString.
   ^ super new.

I've also output the senderStrings to a log file and loaded into Excel to munge things for pattern matching. Very agricultural approach, but it turned up some results (though I can't remember what it was for.)

However I've never actually plugged that sort of thing into #new, so YMMV. Also note that if you happen to step through the above code with the debugger, thisContext might not be set properly [1], although it works fine outside the debugger.

[1] https://pharo.fogbugz.com/f/cases/12980/

cheers -ben


________________________________________
De : Pharo-dev [[email protected]] de la part de stepharo 
[[email protected]]
Envoyé : dimanche 29 juin 2014 10:38
À : Pharo Development List
Objet : [Pharo-dev] https://pharo.fogbugz.com/default.asp?13422

I did an 'Smalltalk allClasses collect:[:cl | cl -> cl allInstances
size]' before starting a load and right after a load that just does not
crash the image. I noticed the following number of new instances that
were still being referenced (i.e. not garbage collected).

The following lists the number of _added_ instances during the load with
the largest first. I include all of them but some are obviously more
indicative than others.

Float->3580540
Point->2149989
Rectangle->818991
Array->573089
MorphExtension->309932
TableLayoutProperties->204571
ByteString->108891
OrderedCollection->107527
IdentityDictionary->103768
ImageMorph->102338
StringMorph->102318
Morph->102313
DependentsArray->102309
TableLayout->102308
RowLayout->102259
MorphTreeNodeMorph->102252
PackageTreePackageNodeModel->102250
Association->26405
Duration->14081
CompiledMethod->11191
MethodChangeRecord->11131
IdentitySet->10843
....






Reply via email to