#650: Improve interaction between mutable arrays and GC
--------------------------------------+-------------------------------------
Reporter: simonmar | Owner: simonmar
Type: bug | Status: new
Priority: normal | Milestone: 6.14.1
Component: Runtime System | Version: 6.4.1
Resolution: | Keywords:
Difficulty: Difficult (2-5 days) | Os: Unknown/Multiple
Testcase: | Architecture: Unknown/Multiple
Failure: Runtime performance bug |
--------------------------------------+-------------------------------------
Changes (by simonmar):
* owner: => simonmar
* difficulty: Moderate (less than a day) => Difficult (2-5 days)
* milestone: _|_ => 6.14.1
Comment:
I worked on this problem yesterday. So far I have a `Data.HashTable`
benchmark that goes from 50s before the fix to 10s afterward with the
default heap settings. It's a simple card-marking strategy where the card
bits (actually bytes, for atomicity) are stored after the array data.
I want to do some more measurements and testing before I commit. Roman
also pointed out to me that this doesn't really fix the problem, it only
reduces the constant factor (albeit by a lot), since we still have to
traverse the mark bits on every GC, but I can't think of a workable
strategy that doesn't suffer from this problem.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/650#comment:17>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs