On Fri, 02 Jun 2006 09:22:29 +0200, Ola Bini wrote: > Regardig the ObjectSpace-implementation, I would recommend you to move the > cleanup call to ObjectSpace#iterator() ... I think that's where most of the > performance go through the roof. > And it's not like those WeakReferences are a problem...
This is a good idea, but ObjectSpaceIterator already skips null values, so I don't think there is a need to cleanup every time iterator() is called, much less every add. If iterator() is called often enough I would suggest moving the cleanup operation into a separate daemon thread that kicks in every so often instead. If cleanup can be made less frequent, you could change it to build up a new references collection by iterating and looking for nulls. This would allow you to get rid of ReferenceQueue and make references an ArrayList instead of a HashSet. I'd test this out myself but I'm not sure what to use as a benchmark. Could someone give me a pointer? Maybe a "benchmark" Ant target would come in handy. Chris _______________________________________________ Jruby-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/jruby-devel
