Tracing API?
Benjamin Thaut
code at benjamin-thaut.de
Sun Dec 22 05:50:02 PST 2013
Am 16.12.2013 19:21, schrieb Andrei Alexandrescu:
>
> What parts of the book support that opinion?
>
>> Generally I think it is a good idea to think about tracing and identify
>> all problems the language still has with propper tracing. Because it
>> seems that this has not been done in the past.
>>
>> Tracing alone is also not enough. There would also be a need for a
>> gc-stop point kind of api that inserts points where the GC can stop the
>> program without corrupting it.
>
> That is correct. Such would come in the form of guarantees of when it's
> safe to initiate, pause, and resume iteration.
>
>
> Andrei
>
Well they talk about all these issues in Chapter 11 where they give
different ways to implement finding pointers, read / write barriers etc.
They mention several times, that the implementation highly depends on
the type of Collector choosen and on the architecture (e.g. can you
afford to waste a CPU register?) In all other parts of the book they
constantly talk about "balancing the cost between the mutator and the
collector" also depending on the type of collector choosen.
In my opinion we should first decide on the type of collector to be
implemented and then implement the subsystems needed by that collector,
in a way that optimally serves that collector. If someone wants to
implement another type of collector, they will have to work with whats
there. In my opinion doing a to generalized solution will lead to bad
performance and unneccessary issues when implementing the reference
collector.
Kind Regards
Benjamin Thaut
More information about the Digitalmars-d
mailing list