
Johan Tibell wrote:
On Wed, Jan 14, 2009 at 1:14 PM, Simon Marlow
wrote: By popular demand, GHC 6.10.2 will support finalizers that are actually guaranteed to run, and run promptly. There aren't any API changes: this happens for finalizers created using newForeignPtr as normal.
Does this effect GC performance even if you don't use finalizers?
My knowledge of how finalizers affect GC performance is limited but now and then I stumble on some Java article (e.g. [1]) that claims that they can slow things down. That's no problem if there's no additional cost added to code which doesn't use finalizers.
Yes, having lots of finalizers could affect GC performance, but that hasn't changed. There are things we could do to speed it up, if it became a serious bottleneck - for example, we currently look at all the weak pointers on every GC, but we could separate them by generation like we do for threads. Cheers, Simon