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

Reply via email to