[Haskell-cafe] Who is working on high performance threadsafe mutable data structures in Haskell?
johan.tibell at gmail.com
Fri Oct 28 00:13:32 CEST 2011
On Thu, Oct 27, 2011 at 8:45 AM, Ryan Newton <rrnewton at gmail.com> wrote:
> Based a quick perusal of Hackage there does not seem to be a lot of work in
> this area. Of course, for Haskell the importance of this topic may be
> diminished relative to pure data structures, but for doing systems-level
> work like monad par good concurrent data structures are also very important.
Gregory Collins and I haven't wanted a fast lock-free hashtable for some
time. There's also a priority queue (inside an IORef) in the I/O manager
that could use a replacement. Note that this priority queue needs to support
access both by priority and key.
> We are about to embark on some work to fix this problem for monad-par &
> Deques, but if there are others working in this vicinity it would be nice to
> team up.
> We are going to try both pure Haskell approaches using the new
> casMutVar# primop as well as wrapping foreign data structures such as those
> provided by TBB. There are a whole bunch of issues with the latter -- see
> Appendix A and help me out if you know how to do this.
You could try the FFI approach if it's not too much work but I expect it to
perform worse than a native Haskell version. It'd also be bad for the GC,
which doesn't like having lots of small pinned objects as they fragment the
heap. I'd rather look into what primops/compiler optimizations we're lacking
to be able to do this well from within Haskell.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe