[Magma] test result
Chris Muller
afunkyobject at yahoo.com
Tue Aug 6 00:08:27 UTC 2002
Here's the message tally using 600 instead of 2000. 600, even while profiling
took less than 30 seconds on my AMD 1050MHz, so if your test with 2000,
Stephen, really took five hours *without* profiling, then I guess that's an
illustration of how quickly this Dictionary issue grows into a big problem..
I noticed that both WeakSet and WeakKeyDictionary both override
#fixCollisionsFrom:, but here we see WeakValueDictionary inheriting it from
Set.
Is it possible that the implementation is Set is simply inefficient for a
WeakValueDictionary?
Whoa, I see that WeakKeyDictionary>>fixCollisionsFrom: does a full rehash!
That doesn't seem very efficient!
- 1686 tallies, 28953 msec.
**Tree**
99.1% {28692ms} MaObjectSerializer>>assignPermenantLoidsFrom:
99.1% {28692ms} MaDefaultOidManager>>permanentLoidFor:is:
98.0% {28374ms} MaDefaultOidManager>>clean:
98.0% {28374ms} WeakValueDictionary(Dictionary)>>removeKey:ifAbsent:
98.0% {28374ms} WeakValueDictionary(Set)>>fixCollisionsFrom:
97.3% {28171ms} WeakValueDictionary(Set)>>findElementOrNil:
97.2% {28142ms} WeakValueDictionary(Dictionary)>>scanFor:
89.4% {25884ms} LargePositiveInteger>>=
|73.7% {21338ms} LargePositiveInteger(Integer)>>=
|15.7% {4546ms} primitives
7.4% {2143ms} primitives
**Leaves**
75.5% {21860ms} LargePositiveInteger(Integer)>>=
15.8% {4575ms} LargePositiveInteger>>=
7.5% {2171ms} WeakValueDictionary(Dictionary)>>scanFor:
**Memory**
old +59,824 bytes
young +13,028 bytes
used +72,852 bytes
free -72,852 bytes
**GCs**
full 0 totalling 0ms (0.0% uptime)
incr 24 totalling 41ms (0.0% uptime), avg 2.0ms
tenures 1 (avg 24 GCs/tenure)
root table 0 overflows
__________________________________________________
Do You Yahoo!?
Yahoo! Health - Feel better, live better
http://health.yahoo.com
More information about the Squeak-dev
mailing list
|