3 ms·
I don't really know how the implementation of a tracing GC works but I was thinking they could do some smart memory ordering to land in the same cache-line as o
by lillecarl 5y ago
I don't really know how the implementation of a tracing GC works but I was thinking they could do some smart memory ordering to land in the same cache-line as often as possible.
Thanks for the clarifications :)
- monocasa 5y agoInterestingly earlyish smalltalk VMs used to keep the object headers in a separate contiguous table. Part of the problem though, is that the object graph walk pretty quickly is non contiguous, regardless of how it's laid out in memory.
- kaba0 5y agoBut that’s just the marking phase, isn’t it? And most of it can be done fully in parallel, so while not all CPU cores can be maxed out with that, more often than not the original problem itself can be hard to parallelize to that level, so “wasting” a single core may very well be worth it.