5 ms·
> How does your implementation handle that? This is explained in the readme[1]. You can pass custom allocation functions (mallic, realloc, free), so you can pl
by magicalhippo 3y ago
> How does your implementation handle that?
This is explained in the readme[1]. You can pass custom allocation functions (mallic, realloc, free), so you can plug in Boehm fex.
[1]: https://github.com/mkirchner/hamt#memory-management https://github.com/mkirchner/hamt#memory-management
- dumdumchan 3y agoSo refcounting?
- aidenn0 3y agoBeohm is not refcounting, it's a tracing GC.
- vkazanov 3y agoBoehm is not tracing, it's a conservative GC. PS admittedly, terminology is not precise enough in this space.
- aidenn0 3y agoI would say that the terminology is pretty good in this space, and BDWGC is a conservative tracing GC. A tracing GC determines reachability by following (i.e. tracing) chains of references. A precise GC will retain exactly the set of reachable objects, a conservative GC will retain potentially more. Tracing GCs might be precise (or not), they might handle internal-pointers (or not), they might move the data (or not), they might handle variable sized allocations (or not).
- deleted 3y ago[deleted]