Search, explore and find the perfect course for you
The Secret Lives of Garbage Collectors
Most of us work in languages that provide automatic memory management of some kind. In fact, it's become so commonplace that we take it for granted. But should we? Are garbage collectors really so magical that we can blindly trust them to work efficiently for us? Or are they like any other piece of software solving a hard problem: a best effort, trading off lots of different factors against each other?
This session will take a deep dive into garbage collection. I'll demystify a bunch of the terminology surrounding the topic: reachability analysis, generations, parallel collection, concurrent collection, copying, pinning... I'll also discuss the kinds of trade-offs a GC designer has to make, having played that role over the last year. Finally, there will be some tips on how to write code that is more GC-friendly, for those times when you need to squeeze out a few more drops of performance.