[GHC] #8513: Parallel GC increases CPU load while slowing down program

GHC ghc-devs at haskell.org
Mon Nov 11 13:32:10 UTC 2013


#8513: Parallel GC increases CPU load while slowing down program
--------------------------------------------+------------------------------
        Reporter:  blitzcode                |            Owner:  simonmar
            Type:  bug                      |           Status:  closed
        Priority:  normal                   |        Milestone:
       Component:  Runtime System           |          Version:  7.6.3
      Resolution:  worksforme               |         Keywords:
Operating System:  Unknown/Multiple         |     Architecture:
 Type of failure:  Runtime performance bug  |  Unknown/Multiple
       Test Case:                           |       Difficulty:  Unknown
        Blocking:                           |       Blocked By:
                                            |  Related Tickets:
--------------------------------------------+------------------------------
Changes (by simonmar):

 * status:  new => closed
 * resolution:   => worksforme


Comment:

 Your results seem to be in line with what I would expect.  The parallel GC
 improves performance for (a) parallel programs and (b) sequential programs
 that have a large residency.  For (b) you should use `+RTS -qg1`.

 The documentation for `+RTS -qg` already mentions the points above, and
 seems reasonably clear to me:
 http://www.haskell.org/ghc/docs/latest/html/users_guide/runtime-
 control.html#rts-options-gc

 Your program looks like its main heap structure is a single Vector, which
 is not very parallelisable in the GC.  This would explain why you don't
 see much speedup with parallel GC.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8513#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list