[GHC] #7662: Improve GC of mutable objects
GHC
cvs-ghc at haskell.org
Tue Feb 12 09:58:46 CET 2013
#7662: Improve GC of mutable objects
---------------------------------+------------------------------------------
Reporter: ezyang | Owner:
Type: feature request | Status: new
Priority: normal | Milestone: _|_
Component: Runtime System | Version: 7.7
Keywords: | Os: Unknown/Multiple
Architecture: Unknown/Multiple | Failure: None/Unknown
Difficulty: Unknown | Testcase:
Blockedby: | Blocking:
Related: |
---------------------------------+------------------------------------------
Comment(by simonmar):
I wanted to record an idea that occurred to me: if we were to switch to a
mark/sweep (probably mark-region, e.g. Immix) collection for the old
generation, which is something I've been wanting to try for some time,
then it gives us a way to do card marking. The idea is to retain the
bitmap after GC, and use it to find the live objects when sweeping a
marked card. The bitmap costs ~3% extra heap size on a 32-bit machine,
half that on 64-bits.
I'm quite optimistic that mark-region would be a win, and furthermore,
because mark/sweep is non-destructive, it could be done incrementally, or
concurrently with the mutator (you have to be careful about mutation, but
the write-barrier techniques for doing this are well known). The idea is
that going incremental or concurrent would improve pause times.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7662#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list