On Thursday, 17 November 2022 at 22:05:45 UTC, jwatson-CO-edu wrote:
[`Atom`](https://github.com/jwatson-CO-edu/SPARROW/blob/main/lil_schemer.d#L66) 
(unit of data), I throw it on the heap and never bother to delete it.  I 
understand that D does GC for me. I am interested in using either [timed 
GC](https://wiki.dlang.org/Memory_Management#Smooth_Operation) or a [free 
list](https://wiki.dlang.org/Memory_Management#Free_Lists) for finer control of 
GC.  Which is best for the application, do you think?


If you wish to automatically de-allocate the oldest atoms, one approach might be to put them in a ring buffer. Its size will affect the relative time needed for deleting and overwriting the oldest elements. You can hard code the size based on experimentation or allow ongoing automatic adjustment based on some formula.

I think there are some interesting ring buffer packages in the DUB registry.

Reply via email to