Garbage Collection for Systems Programmers

Guillaume Piolat first.name at gmail.com
Tue Apr 2 13:23:48 UTC 2024


On Monday, 1 April 2024 at 20:45:25 UTC, Adam Wilson wrote:
>
> We need to accept a fact that I learned at DConf 2017, the 
> no-GC crowd will not be silenced until the GC is removed from 
> the language. However, Walter has said the GC is here to stay. 
> Therefore, the no-GC crowd will never be silenced. We've given 
> them a plethora of tools to work without the GC. It is time 
> that we stopped giving them so much our time. We have bigger 
> problems to solve.

The problem is viewing people using @nogc as doing out of 
performance fetish, when really it makes no performance 
difference meaningfully (2x memory consupmtion usually "ok").

Instead the Mir library, Dplug, Hipreme Engine and soon Inochi2D 
are doing it simply for portability because the regular druntime 
has insane requirements, which the C standard library doesn't 
have. We went "@nogc" when druntime wouldn't even start in some 
macOS in shared library form, not because some kind of 
performance reason.

If you want to use GC and be portable, then (currently in D 
today) you have to write your own D runtime. Of which there is 3 
or 4 custom ones!

The solution is of course to lower the requirements of druntime 
so that it can run anywhere, be in WebASM, on the Playstation 
Vita, on the Dreamcast, what people are doing nowadays (and may 
need or not @nogc).


More information about the Digitalmars-d mailing list