(no title)
pebal
|
11 months ago
It doesn't matter if objects die young — the other objects on the heap are still moved around periodically, which reduces performance. When you're using a moving GC, you also have additional read barriers that non-moving GCs don't require.
gf000|11 months ago
Also, it's no accident that every high-performance GC runtime went the moving, generational way.
pebal|11 months ago
Generations are used almost exclusively in moving GCs — precisely to reduce the negative performance impact of data relocation. Non-moving GCs are less invasive, which is why they don’t need generations and can be fully concurrent.