top | item 45790741

(no title)

mbrock | 4 months ago

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.

discuss

order

jeltz|3 months ago

For those problems arena allocators tend to perform even better.

mbrock|3 months 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|3 months ago

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