[Haskell-cafe] Efficient mutable arrays in STM
benjamin.franksen at helmholtz-berlin.de
Fri Oct 28 12:15:07 CEST 2011
David Barbour wrote:
> Create an extra TVar Int for every `chunk` in the array (e.g every 256
> elements, tuned to your update patterns). Read-write it (increment it, be
> sure to force evaluation) just before every time you write an element or
> slice it or slice the array element.
Incrementing and forcing evaluation should not be necessary, a TVar ()
should be enough. I would be very much surprised if the internal STM
machinery compares the actual _values_ of what is inside a TVar, I guess it
just notes that a read or a write happened. Anyway, this is just a guess, I
wonder if these details are documented somewhere...
More information about the Haskell-Cafe