Comment by mbrock

Comment by mbrock 2 days ago

3 replies

You can wrack some people's brains by stating that for some problems, a GC is a great way to alleviate the performance problems caused by manual memory management.

jeltz 2 days ago

For those problems arena allocators tend to perform even better.

  • mbrock 2 days ago

    Yeah, but if you actually need to retain a live subgraph of the allocated heap, the arena can't help you. So you make an arena allocator that only frees its slab after moving out the reachable set to a new compacted arena. Congratulations, you've implemented a Cheney-style compacting GC!

  • quotemstr 2 days ago

    Not for all allocation patterns. It's hard to beat bump pointer allocation and escape analysis in general.