www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Does anyone use a custom GC?

reply Steven Schveighoffer <schveiguy gmail.com> writes:
As you may be aware, I'm working with Amaury (deadalnix) on 
creating a new GC for D (see our talks at the upcoming 
[dconf](https://dconf.org)).

In doing so, we have found that the abstractions in druntime 
don't cover the functionality we want to change. And so I am 
working on some very disruptive changes to the GC interface.

This will mean that anyone who is currently using a custom GC 
will have their code broken, and in general, they will have to 
implement some new features.

Before I start trying to push for these changes, I want to know 
who realistically uses custom GCs that are not already in 
druntime?

Please contact me on discord, or via email at schveiguy gmail.com 
if you fall into this category. I'm both interested in what your 
custom GC does (if you are able to discuss), and want to make 
sure you can accommodate the changes I'm making.

-Steve
Jun 20
next sibling parent Mathias Lang <geod24 gmail.com> writes:
On Friday, 21 June 2024 at 02:59:43 UTC, Steven Schveighoffer 
wrote:
 This will mean that anyone who is currently using a custom GC 
 will have their code broken, and in general, they will have to 
 implement some new features.
https://github.com/Geod24/tracyd As you can see this just adds Tracy integration to the GC to be able to profile applications. It's using a slightly modified copy of the default upstream GC. I don't mind the code being broken (it happened a few times already), but I wanted to point out the use case. Otherwise I'd recommend reaching out to Johan to see if Weka is affected. When we changed the internals of DRuntime in the past they raised some use cases they had.
Jun 21
prev sibling next sibling parent Dmitry Olshansky <dmitry.olsh gmail.com> writes:
On Friday, 21 June 2024 at 02:59:43 UTC, Steven Schveighoffer 
wrote:
 As you may be aware, I'm working with Amaury (deadalnix) on 
 creating a new GC for D (see our talks at the upcoming 
 [dconf](https://dconf.org)).

 In doing so, we have found that the abstractions in druntime 
 don't cover the functionality we want to change. And so I am 
 working on some very disruptive changes to the GC interface.
I’m also writing a GC, and don’t mind changing the GC interface. — Dmitry Olshansky CEO [Glow labs](https://glow-labs.pro) https://olshansky.me/about/
Jun 21
prev sibling next sibling parent "H. S. Teoh" <hsteoh qfbox.info> writes:
On Fri, Jun 21, 2024 at 02:59:43AM +0000, Steven Schveighoffer via
Digitalmars-d wrote:
 As you may be aware, I'm working with Amaury (deadalnix) on creating a
 new GC for D (see our talks at the upcoming
 [dconf](https://dconf.org)).
 
 In doing so, we have found that the abstractions in druntime don't
 cover the functionality we want to change. And so I am working on some
 very disruptive changes to the GC interface.
 
 This will mean that anyone who is currently using a custom GC will
 have their code broken, and in general, they will have to implement
 some new features.
[...] I haven't started working on it yet, but I do plan to write a bare-minimum GC for WASM targets at some point in time. I would welcome any API changes that would make this process simpler. ;-) T -- Three out of two people have difficulties with fractions. -- Dirk Eddelbuettel
Jun 21
prev sibling parent cc <cc nevernet.com> writes:
On Friday, 21 June 2024 at 02:59:43 UTC, Steven Schveighoffer 
wrote:
 This will mean that anyone who is currently using a custom GC 
 will have their code broken, and in general, they will have to 
 implement some new features.

 Before I start trying to push for these changes, I want to know 
 who realistically uses custom GCs that are not already in 
 druntime?
Short answer no, but I occasionally temporarily cram in additional convenience code to aid pinpointing or monitoring certain behaviors during debugging. Anything that improves future potential to customize or swap GC modules sounds great to me.
Jun 23