Status Update December 2024/January 2025

Steven Schveighoffer schveiguy at gmail.com
Mon Feb 3 18:14:59 UTC 2025


On Monday, 3 February 2025 at 16:31:10 UTC, H. S. Teoh wrote:
> On Mon, Feb 03, 2025 at 04:23:57PM +0000, Paul Backus via 
> Digitalmars-d-announce wrote:
>> On Monday, 3 February 2025 at 15:39:35 UTC, Lance Bachmeier 
>> wrote:
>> > This is useful information. A couple comments:
>> > 
>> > > Steven Schveighoffer has been preparing DRuntime for the 
>> > > inclusion of the new GC.
>> > 
>> > I wasn't aware that we'll be getting a new GC. Was there an 
>> > announcement?
>> 
>> There was a DConf talk about it:
>> 
>> https://dconf.org/2024/index.html#steves
>
> Can someone summarize the gist of it?  I can't seem to find any 
> video or transcripts via that link.  Don't really have the time 
> to watch an entire video anyway.

The videos are here:
part 1: 
https://www.youtube.com/live/AzezZhvIyS4?si=JH8vtvIbZigbBdcx&t=7467
part 2: 
https://www.youtube.com/live/dq7Jhp9cv4w?si=TbOPzVQ2k-sCGuVT&t=8173

TL;DW:

1. We have a lot of improvements possible over the current GC.
2. Get rid of global lock
3. Utilize the system memory in a cache-friendly way
4. Give back memory to the OS more regularly.
5. Lower the cost of using the GC to the point where using malloc 
isn't really advantageous
6. Concurrent scanning (planned)

FYI, we have a working version of ldc that includes the new GC as 
an option. There are caveats, but you can try it out: 
https://github.com/symmetryinvestments/ldc/releases/

To use, pass in `--DRT-gcopt=gc:sdc`, and if you get hangs, you 
may want to try `--DRT-gcopt=parallel:0`, as we currently have 
some hangs that occur rarely with parallel scanning with multiple 
threads.

-Steve


More information about the Digitalmars-d-announce mailing list