Please log in to watch this conference skillscast.
The idea for the talk came from a series of performance investigations in which we tried to nail a bug that was causing unusually long pauses on our production machines. What was even more interesting was that the slowdown seemed to have quadratic characteristics, but all the GCs algorithms are certainly linear? It turns out that there are corner cases where this is not true. In fact, we have proposed a (accepted) bug report to GHC outlining this particular problem: https://gitlab.haskell.org/ghc/ghc/-/issues/19897
While these findings are interesting on its own, they would make a rather hermetic presentation. So instead of presenting the dry facts, the talk would turn towards topics that I believe to be valuable independent of a particular case: how to profile a misbehaving program and collect conclusive results pointing to the real cause; overview of existing GHC memory management tactics and data structures; general structures that can be used in memory management (trees, skip-lists) and their characteristics; how to hack on GHC to implement a new idea; how to use a hacked GHC.
YOU MAY ALSO LIKE:
- Building a Web Library Using Super Hard Haskell (SkillsCast recorded in November 2020)
- Haskell eXchange 2022: Novice Track (Online Conference on 7th December 2022)
- Haskell eXchange 2022: Online Conference (Online Conference on 8th - 9th December 2022)
- Haskell: Why and How the External STG Interpreter is Useful (SkillsCast recorded in December 2021)
- Keynote — Haskell: What To Do When Success Can't Be Avoided (SkillsCast recorded in November 2021)