Cost of a moving garbage collector -


GC Safety Points contains additional generated code for storing and reloading references to transfer the collective collectors such as collectors. I

Has anyone quantified the cost of this overhead display cost compared to the non-moving collector?

I ask because I am interested in designing a collector who can recycle short-term values ​​without solving them effectively.

Moving vs non-running business is a complex one, let me have a special study identified in your reference I do not know - in fact, I'm not sure that I think it altogether: An accurate GC should always know where all the indicators are, then you might be the conservative non-moving GC ? In my opinion, the conservative GC is a bad choice if you have enough control on the compilation path to be able to get the exact GC.

There are other aspects affecting the performance of non-moving GC walking:

  • The allocation speed is allocated to non-moving GC by a free listing While COG GC can use the Bump-Pointer Allocation, it may have to be done. Hybrid schemes, such as attempting to kill a better control between the two.

  • There are so many studies on this for both locality and cache behavior and non-moving GCs; See. Generally speaking fusion is good for cache, although the copy GC is usually the fourth, which is a bad option (access patterns are before the depth), a bunch of research in this field, the access pattern to rearrange the object To match.

My personal opinion is that in order to support rapid allocation, you need an L-2 size nursery which is a copy of collection and bump-pointer allocation. is. If you do anything else, the allocation becomes more expensive, which leaves many things: Optimization becomes more important to reduce the allocation, so you end up trying to spend there and make things more complicated. I really want to allocate really cheap and do not worry about it.


Comments