5 releases

0.2.5 Jun 17, 2024
0.2.2 Jun 17, 2024
0.2.1 Jun 17, 2024
0.2.0 Jun 16, 2024
0.1.0 May 20, 2024

#269 in Memory management

MIT license

87KB
2K SLoC

VERSION 0.3.0 - Alloc Blocks into Regions - Add more bench tests - Add A Fuzzing Test suite - fix GcError todos! - Defragmentation - switch to major during minor collection - grow, shrink, and layout alloc options

ISSUES - Better Config - add allocator config? - easy swap allocator? - editing config while gc is running? - review the trace and traceleaf derives - they dont work for a lot of types, things like unit/unamed structs - add a lot more trace impls - Mutator Context? - the presence of a GcPtr, GcArray, or Mutator all indicate we are in a mutator context - add non blocking versions of the gc mutate functions? - Review of Atomic Operations


lib.rs:

A generational, concurrent, and parallel garbage collected arena that is still under development.

A GcArena holds a single generic Root object which must implement the Trace trait. When the GcArena peforms a collection, all memory that is unreachable from the root will be freed.

Dependencies

~0.6–1MB
~22K SLoC