#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

Reply via email to