GopherCon liveblogger here. The room was jampacked for this talk and it did not disappoint. A very detailed tour of how memory allocation and GC works in Go. I learned a ton. Eben (<a href="https://twitter.com/_emfree_" rel="nofollow">https://twitter.com/_emfree_</a>) has also posted his slides here: <a href="https://speakerdeck.com/emfree/allocator-wrestling" rel="nofollow">https://speakerdeck.com/emfree/allocator-wrestling</a>.<p>FYI, this was part of a technical liveblog that covered all the talks at GopherCon this year in a similar fashion. If you missed the conference or are looking to review material, you might find <a href="https://sourcegraph.com/gophercon" rel="nofollow">https://sourcegraph.com/gophercon</a> helpful. (Disclosure: I'm CTO of Sourcegraph—we organized the liveblog and love Go!)
The suggestion to reuse objects, rather than reallocate temporaries (e.g. inside a loop body) was intriguing. Coming from C/C++ where stack allocations are approximately 'free', I tend to scope stack variables as narrowly as possible for readability and to help the compiler break dependencies. This is an interesting paradigm change that I wouldn't have expected from Go.
If this topic interests you, André Carvalho did another great talk on the subject at Gophercon UK earlier this month:
<a href="https://speakerdeck.com/andrestc/understanding-go-memory-allocation-gophercon-uk" rel="nofollow">https://speakerdeck.com/andrestc/understanding-go-memory-all...</a>