[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