Q: What makes Morphic slow?
Bob Arning
arning at charm.net
Sun Nov 21 16:22:04 UTC 1999
On Sat, 20 Nov 1999 22:26:26 +0100 Stefan Matthias Aust <sma at 3plus4.de> wrote:
>Update to my previous email: A "Transcript show:" showed that list morphs
>aren't created that often but only four times as they should.
>
>But then, what do the numbers mean?
>
>Sorry for this confusion,
Stefan,
It is a bit confusing. One reason you see abnormally high numbers is that MessageTally does not distinguish between BlockContext and MethodContext - it simply reports the method associated with each context on the stack. If you evaluate:
MessageTally tallySends: [Smalltalk do: [ :each | ]]
you will get something like:
This simulation took 1.0 seconds.
**Tree**
1123 SystemDictionary(Dictionary)>>do:
2177 SystemDictionary(Set)>>do:
1 Array(SequenceableCollection)>>do:
**Leaves**
2177 SystemDictionary(Set)>>do:
2177 SystemDictionary(Dictionary)>>do:
1123 SystemDictionary(Dictionary)>>do:
1123 UndefinedObject>>DoIt
1122 UndefinedObject>>DoIt
1 Array(SequenceableCollection)>>do:
1 SystemDictionary(Set)>>do:
yet we know we only sent on #do: to Smalltalk. A different (more informative, perhaps) report would be:
**Tree**
1 SystemDictionary(Dictionary)>>do:
1 SystemDictionary(Set)>>do:
1 Array(SequenceableCollection)>>do:
1123 [] in SystemDictionary(Set)>>do:
1123 [] in SystemDictionary(Dictionary)>>do:
I've thought about making MessageTally do this before, but it just hasn't crept up the list.
Cheers,
Bob
More information about the Squeak-dev
mailing list
|