I recently spent some time debugging a performance regression in Haddock, and came up with some useful tips and tricks for tracking these things down in GHC. I wrote them up here: https://ghc.haskell.org/trac/ghc/wiki/Debugging/ProfilingGhc Please take a look. Thanks, Edward