| ▲ | Watching Go's new garbage collector move through the heap(theconsensus.dev) | ||||||||||||||||||||||
| 77 points by matheusmoreira 3 days ago | 6 comments | |||||||||||||||||||||||
| ▲ | nomorewords an hour ago | parent | next [-] | ||||||||||||||||||||||
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 | |||||||||||||||||||||||
| |||||||||||||||||||||||
| ▲ | owaislone 43 minutes ago | parent | prev | next [-] | ||||||||||||||||||||||
For anyone interested in this - https://www.youtube.com/watch?v=gPJkM95KpKo | |||||||||||||||||||||||
| ▲ | okzgn 20 minutes ago | parent | prev [-] | ||||||||||||||||||||||
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. | |||||||||||||||||||||||