low-latency GC

Ola Fosheim Grostad ola.fosheim.grostad at gmail.com
Sun Dec 6 18:02:24 UTC 2020


On Sunday, 6 December 2020 at 17:35:19 UTC, IGotD- wrote:
> Is automatic atomic reference counting a contender for kernels? 
> In kernels you want to reduce the increase/decrease of the 
> counts. Therefore the Rust approach using 'clone' is better 
> unless there is some optimizer that can figure it out. 
> Performance is important in kernels, you don't want the kernel 
> to steal useful CPU time that otherwise should go to programs.

I am not sure if kernel authors want autmatic memory management, 
they tend to want full control and transparency. Maybe something 
people who write device drivers would consider.

> In general I think that reference counting should be supported 
> in D, not only implicitly but also under the hood with fat 
> pointers. This will make D more attractive to performance 
> applications. Another advantage is the reference counting can 
> use malloc/free directly if needed without any complicated GC 
> layer with associated meta data.

Yes, I would like to see it, just expect that there will be 
protests when people realize that they have to make ownership 
explicit.

> Also tracing GC in a kernel is my opinion not desirable. For 
> the reason I previously mentioned, you want to reduce meta 
> data, you want reduce CPU time, you want to reduce 
> fragmentation. Special allocators for structures are often used.

Yes, an ARC solution should support fixed size allocators for 
types that are frequently allocated to get better speed.




More information about the Digitalmars-d-learn mailing list