On Thu, Dec 22, 2011 at 07:19:03PM -0600, Chris Muller wrote:
Santa hath come early this year! This is a double-win -- because we can not only interrupt again but performance should be better too. This was for Igors attempt to improve the finalization mechanism, ironically for better performance back in 2010 I think -- and in which I was very interested because of how the hyper-activity of the finalization process was causing half of the processing time to be spent spinning through the weak references.
I hope that this hold up as a proper fix, and it certainly does need to be reviewed. But I want to be sure I do not leave any bad impression about the new finalization mechanism. Igor's improved finalization mechanism is in fact a *huge* performance win. People starting with a freshly downloaded image may not notice it, but as time goes on the benefits become more apparent. When using an image over a long period of time (as I tend to do), the accumulated load of handling weak finalization can be a real problem. Igor's new finalization mechanism addresses this very effectively, and this results in very noticable real-world performance improvements for Squeak.
I think that I may have uncovered a problem in the weak finalization update process that has gone unnoticed for a long time. If so, then good, this should help the new finalization to work as intended. But kudos to Igor for implementing the weak finalization improvements, and I hope that fixing this glitch in the weak finalization process will clean up a few loose ends.
Dave