|
From: | Jörg F. Wittenberger |
Subject: | Re: [Chicken-hackers] [PATCH] Fix #1133 |
Date: | Sun, 06 Jul 2014 10:42:39 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux armv7l; rv:24.0) Gecko/20100101 Icedove/24.5.0 |
Am 05.07.2014 23:31, schrieb Felix Winkelmann:
Finalizers have an impact on every GC, as every GC may free memory at any time. What may be possible is to register finalizers only when it is known that the associated data is not held in global variables. But I'm not sure if it isn't in the end easier to manage the resources by hand. On could do something like registerering and de-registering finalizers temporarily (the former is O(1), the latter O(N), though). Whether this buys anything, is another question, though. felix _______________________________________________ Chicken-hackers mailing list address@hidden https://lists.nongnu.org/mailman/listinfo/chicken-hackers
I'm becoming ever more guilty here for failing to provide a single feature patch to runtime.c for just changing this.
If anyone had the patience to cherry-pick from a diff… here is code where doing de-registration in O(1) for finalizers and gc roots.
[Prev in Thread] | Current Thread | [Next in Thread] |