And yet so little code uses them that to eschew the builtin GC is to eschew basically the entire .NET framework. Even basic foreach loops go through IEnumerable interfaces - theoretically boxing even structs. They also come with different semantics - sometimes terrfiyingly subtly differences when combined with properties.
> and support for native heap management
IDisposable and friends are awkward fill-ins for proper RAII tools for native heaps.
That said, these options can be incrementally deployed in your existing codebase without resorting to another language, so they're more accessible options
> [links]
Hooking/replacing the GC seems more straightforward these days, than when I last looked into it though! Although, coreclr APIs won't help with Unity, or Mono. OpenJDK is at least used by modern Android these days, so perhaps there's a way to use it's GC customization options...?
And yet so little code uses them that to eschew the builtin GC is to eschew basically the entire .NET framework. Even basic foreach loops go through IEnumerable interfaces - theoretically boxing even structs. They also come with different semantics - sometimes terrfiyingly subtly differences when combined with properties.
> and support for native heap management
IDisposable and friends are awkward fill-ins for proper RAII tools for native heaps.
That said, these options can be incrementally deployed in your existing codebase without resorting to another language, so they're more accessible options
> [links]
Hooking/replacing the GC seems more straightforward these days, than when I last looked into it though! Although, coreclr APIs won't help with Unity, or Mono. OpenJDK is at least used by modern Android these days, so perhaps there's a way to use it's GC customization options...?