[Haskell-cafe] Boxed Mutable Arrays

Serguey Zefirov sergueyz at gmail.com
Tue Dec 15 11:33:38 EST 2009


>> If the number of buckets was fixed, one could use an array of STRefs
>> to lists.  I believe this would avoid the bug from Ticket #650?
> now i see what you mean. no, i mean trivial transformation. #650 says
> about slow GC. why it's slow? because once you made any update to the
> array, the entire array is marked as updated and scanned on next minor GC
> (which occurs after every 512 kbytes allocated, afaik). let's replace
> big array (say, of 10,000 elements) with array of 100 arrays of 100
> elements each. now, between minor GCs only some of arrays will be
> changed and entire amount of memory to be scanned will become less

Data.IntMap?


More information about the Haskell-Cafe mailing list