GCs are complicated beasts: .NET Core, 35000 lines

Paulo Pinto via Digitalmars-d digitalmars-d at puremagic.com
Tue Feb 3 14:40:32 PST 2015


On Tuesday, 3 February 2015 at 22:27:38 UTC, Orvid King wrote:
> On Tuesday, 3 February 2015 at 22:19:08 UTC, Tourist wrote:
>> Source code:
>> https://raw.githubusercontent.com/dotnet/coreclr/master/src/gc/gc.cpp
>>
>> Origin:
>> http://www.reddit.com/r/programming/comments/2unrll/net_core_is_on_github/coa2uot
>
> The thing to realize about the .net GC is that it is precise, 
> generational, compacting, and asynchronous. It also has a 
> low-latency mode which is primarily used for ASP.net, which 
> limits the maximum time spent in performing a single 
> collection. It also supporting pinning allocations. In 
> comparison, D's GC is simple, as are most GC implementations.

And I bet commercial JVMs even have more LOCs given the pluggable 
set of GCs they come with.

Oracle is planning to drop some of them by Java 9 exactly because 
of maintenance costs.

http://openjdk.java.net/jeps/214

--
Paulo


More information about the Digitalmars-d mailing list