GCs are complicated beasts: .NET Core, 35000 lines

Paulo Pinto via Digitalmars-d digitalmars-d at puremagic.com
Wed Feb 4 04:35:24 PST 2015


On Wednesday, 4 February 2015 at 12:09:36 UTC, Russel Winder 
wrote:
> On Tue, 2015-02-03 at 22:40 +0000, Paulo Pinto via 
> Digitalmars-d wrote:
>> […]
>> 
>> And I bet commercial JVMs even have more LOCs given the 
>> pluggable set of GCs they come with.
>
> On the other hand does anyone use anything other than G1 these 
> days?

Yes.

You just have to witness a discussion on HN or Reddit to see how 
the
majority of developers that don't optimize for performance are 
unaware
of GC options across the Java world.

>
>> Oracle is planning to drop some of them by Java 9 exactly 
>> because of maintenance costs.
>> 
>> http://openjdk.java.net/jeps/214
>
> And because G1 provably does the job.
>
> BTW The Go team have completely rewritten the Go GC 1.4 → 1.5. 
> Of
> course they have also completely rewritten the entire Go 
> toolchain.
> Compiler, linker, runtime all written in Go now, no more C.

I really like that they decided to do that.

First because I always enjoyed following the bootstrap route when 
playing
with compiler development back in my degree days.

Second, because it gets rid of C so it earns brownie points.

Many times language designers use C due to multiple reasons, some 
of them make good sense like using it as portable assembler or 
fast bootstrap of the runtime, and not because it isn't possible 
to avoid it.

However the naysayers without compiler design background, use the 
C dependency as argument for language X cannot be done without C, 
ergo C rulez.

So looking forward for Go 1.5 and also SDC.


More information about the Digitalmars-d mailing list