The "no gc" crowd
Paulo Pinto
pjmlp at progtools.org
Wed Oct 9 08:35:29 PDT 2013
Am 09.10.2013 16:52, schrieb Manu:
> On 9 October 2013 23:06, Michel Fortin <michel.fortin at michelf.ca
> <mailto:michel.fortin at michelf.ca>> wrote:
>
> On 2013-10-09 07:33:29 +0000, Manu <turkeyman at gmail.com
> <mailto:turkeyman at gmail.com>> said:
>
> Is there more to it? Cleaning up circular references I guess...
> what does
> Apple do?
>
>
> Apple implemented auto-nulling weak pointers for ARC (as well as
> __unsafe_unretained ones if you are not afraid of dangling pointers).
>
> It's an uncommon edge case, so there's gotta be heaps of room
> for efficient
> solutions to that (afaik) one edge case. Are there others?
>
>
> I don't know about you, but circular references are not rare at all
> in my code.
>
> Another solution that could be used for circular references is to
> have the stop-the-world GC we have now collect them. Reference
> counting could be used to free GC memory in advance (in the absence
> of circular references), so the GC would have less garbage to
> collect when it runs.
>
> Both solutions (week-autonulling and last-resort GC) are not
> mutually exclusive and can coexist.
>
>
> I suspect there are plenty of creative possibilities that could be
> applied to reducing the pool of potential circular-references to as
> small a pool as possible.
> It's simply not feasible to have machine scanning 4-6 gigabytes of
> allocated memory looking for garbage.
The Azul VM does not have a problem with it, as it does pauseless
concurrent GC, while being used on online trading systems.
--
Paulo
More information about the Digitalmars-d
mailing list