#11783: Very large slowdown when using parallel garbage collector -------------------------------------+------------------------------------- Reporter: luispedro | Owner: simonmar Type: bug | Status: new Priority: high | Milestone: 8.0.2 Component: Runtime System | Version: 7.10.3 Resolution: | Keywords: performance, | garbage collector Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by Simon Marlow <marlowsd@…>): In [changeset:"5c4cd0e44657d52f7ca5fee63f8765d17f1fbe85/ghc" 5c4cd0e4/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="5c4cd0e44657d52f7ca5fee63f8765d17f1fbe85" Cache the size of part_list/scavd_list (#11783) After a parallel GC, it is possible to have a long list of blocks in ws->part_list, if we did a lot of work stealing but didn't fill up the blocks we stole. These blocks persist until the next load-balanced GC, which might be a long time, and during every GC we were traversing this list to find its size. The fix is to maintain the size all the time, so we don't have to compute it. }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11783#comment:3> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler