www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - symgc added to code.dlang.org

reply Steven Schveighoffer <schveiguy gmail.com> writes:
I know it's been a long time coming, but finally I am comfortable 
adding symgc as an option for those who want to try it out as a 
dub dependency.

Note that this is a port of SDC's GC to normal druntime, and 
*requires* a very recent version of the compiler. I would highly 
recommend only trying if you want to use the current master 
branch of dmd, but it probably will work with the release 2.111 
compiler (or ldc 1.41.0) on Linux.

If you want to just try out the GC and don't mind using a 
pre-built package that automatically includes it, you can 
download a compiler from 
https://github.com/symmetryinvestments/ldc/releases/tag/v1.41.0-symgc1

Note that this compiler, while labeled as 1.41.0 is including 
some cherry picked fixes from the unreleased 2.112 DMD compiler. 
These fixes are *necessary* to run on Windows.

Our internal numbers are consistent with the previous 
"unofficial" release that had the GC built with SDC. That is, 
slightly less performant, but massive Resident RAM savings. Of 
course, with multithreaded code that allocates a lot, this should 
be quite a bit better performance without a global lock.

In this release:
* Windows support!
* Full access to druntime and using druntime's features for 
thread management
* No known hangs for parallel scanning or otherwise. Full 
Mutithreaded support.
* GC.inFinalizer support (needed for some designs).

Please let me know via issues on the github project any problems 
you come across, and also share any performance positives or 
negatives you have! The goal here is for it to be better in every 
respect than the existing conservative GC!

And yes, I know Mac support is not there. And I am a Mac user, so 
I want it too! It's a matter of dealing with a very different 
architecture and a different page size. It will happen soon(tm).

-Steve

https://code.dlang.org/packages/symgc
https://github.com/symmetryinvestments/symgc
Jun 26
next sibling parent xoxo <xororwr gmail.com> writes:
Congrats on the release!

It would be interesting to test this with DMD (low-mem).
Jun 27
prev sibling parent Hipreme <msnmancini hotmail.com> writes:
On Friday, 27 June 2025 at 05:34:53 UTC, Steven Schveighoffer 
wrote:
 I know it's been a long time coming, but finally I am 
 comfortable adding symgc as an option for those who want to try 
 it out as a dub dependency.

 [...]
Those are really great news! I'm really willing to test it!
Jun 27