Potential GSoC project - GC improvements

ZombineDev via Digitalmars-d digitalmars-d at puremagic.com
Thu Mar 10 09:15:20 PST 2016


On Thursday, 10 March 2016 at 16:46:59 UTC, Jeremy DeHaan wrote:
> On Thursday, 10 March 2016 at 15:24:48 UTC, Andrei Alexandrescu 
> wrote:
>> On 3/9/16 10:40 PM, NX wrote:
>>> I think the best possible improvement for GC is making it 
>>> lock-free.
>>> Currently, GC lock cause some serious performance penalties 
>>> for
>>> multithreaded code when frequent allocations take place.
>>
>> I agree. A first step would be easy to do with std.allocator's 
>> thread-local freelists. -- Andrei
>
> I was looking into this, but I am slightly hesitant. Should the 
> gc use something in std.experimental? Or should we think that's 
> ok?
>
> I also know that there are some people that think we should 
> avoid using Phobos in druntime.

There's no problem in using std.experimental.* internally, 
because if the API changes, the one who changes the API will also 
need to change all internal usages, otherwise his pull request 
won't compile.

About using Phobos in Druntime - you can't directly import 
Phobos, since it's files are not present when Druntime is built. 
The solution is to copy the stuff you need to 
https://github.com/D-Programming-Language/druntime/tree/master/src/rt/util or some place like this.


More information about the Digitalmars-d mailing list