On 27-Dec-05, at PM 04:49, John M McIntosh wrote:
Further to my first answer, I think you could also visit WeakArray and inspect the class var FinalizationDependents. Because of changes in when weak objects are collected, ie fixing a bug about when collection was actually done, we now are more likely to perform a finalization pass on each incremental GC pass. If for example you find you have a WeakArray or subclass with say 60,000 entries in the valueDictionary you will find the logic actually scans each entry looking to do the finalization task. Iterating over 60K members every GC event does take some time, ie lots...
I tried to reproduce the slowness from a backup. It feels slow, but not _as_ slow as I first encountered it. The class var FinalizationDependents of WeakArray only has 100-140 elements so I supposed its not that. Thanks for spending time to look at this, sorry I couldn't nail down the cause.
-- Hwee Boon http://motionobj.com/blog/ MotionObj (65) 6764-9774