Would you pay for GC?
Paulo Pinto
pjmlp at progtools.org
Tue Jan 25 09:53:29 UTC 2022
On Tuesday, 25 January 2022 at 09:42:25 UTC, Araq wrote:
> On Tuesday, 25 January 2022 at 07:22:36 UTC, Elronnd wrote:
>> On Tuesday, 25 January 2022 at 07:13:41 UTC, Paulo Pinto wrote:
>>> ARC will also not compete, unless one goes the extra mile of
>>> making the compiler ARC aware, elide retain/release calls, do
>>> cascade deletions in background threads, take care on cascade
>>> deletions to avoid stack overflows on destructor calls,
>>> provide multicore friendly versions of them,.....
>>
>> Indeed. See Bacon et al, 'Unified Theory of Garbage
>> Collection': increasingly sophisticated RC approaches tracing
>> (and vice versa). So it's a bit strange to assume we can do
>> one but not the other. And tracing makes a better starting
>> point due to the generational hypothesis.
>
> Only if you take the "deferred" RC route, which
> Swift/Rust/C++/Nim do not! Without the "deferred" aspect RC
> remains quite a different beast. Different algorithm, different
> runtime profiles, different memory consumptions, enables
> different optimizations and of course different problems.
Indeed, that was kind of my point, unless one is willing to
invest the required resources, a bit like you guys are doing with
Nim, a RC implementation will not magically outperform modern
tracing GC, only naive implementations of tracing GCs.
More information about the Digitalmars-d
mailing list