トップに戻る

コメント (9)

torginus13分前
Interesting and its noteworthy to observe that the new GC actually increases the rate of L3 misses slightly. For reference, L1 misses are quite fast, and often free since the CPU can cover up the empty slots with useful work, however L3 misses require a read from RAM which is an eternity in CPU cycles.

My theory is that Go programs cover up the wait for L3 via SMT (which is still kinda common on server CPUs) and schedule work from another hardware thread.

Such a technique might be less usable in less-threaded languages, or non-SMT CPUs and the new GC might end up being slower.

nomorewords18時間前
This was very interesting, but the ending was a bit abrupt. I was under the impression that there was something more that I was missing under the subscribe banner.

But to the point of the article - are there cases in which manually moving objects around to compact them in a specific area is done with golang? I don't use golang that much, and I'm sure that there are very strong arguments for not compacting the heap post-GC, but I've always wondered how it avoids crashing in the 0.0001% of cases in which heap is defragmented in such a way that there's no way to allocate a new large object

owaislone18時間前
For anyone interested in this - https://www.youtube.com/watch?v=gPJkM95KpKo
vernonHeim5時間前
The heap visualization is a great way to make GC behavior less abstract. It's interesting to see how much impact memory layout and cache locality can have, not just the GC algorithm itself.
okzgn17時間前
Excellent optimization technique: manually copying objects to a new slice so they don't prevent the GC from releasing memory by sitting right in the middle of a page it intends to free.
madhu_ghalame6時間前
It would be useful to include some practical tips on how developers can observe GC behaviour in their own applications using profiling tools
KolmogorovComp15時間前
Tangential but this makes me think of a video about C# GC, and the developer switching to Swift to avoid it, in which the dev says they estimate the development of a pause-less GC to be 5B$ R&D away, does that ring the bell to anyone?
extra-AI17時間前
But if the objects being scanned are already located on the same page, aren’t we just wasting time managing the page and tracking the objects within it?
prathamdmehta15時間前
that's very interesting with some blunt ending