Potential GSoC project - GC improvements

Daniel Kozak via Digitalmars-d digitalmars-d at puremagic.com
Thu Mar 10 09:46:15 PST 2016



Dne 10.3.2016 v 18:15 ZombineDev via Digitalmars-d napsal(a):
> 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.
But we allready need existing D compiler to build D frontend, so maybe 
we can use this full D compiler for building druntime in the future?


More information about the Digitalmars-d mailing list