ANN: stm-chans: Additional types of channels for STM.
wren ng thornton
wren at freegeek.org
Wed Apr 6 03:35:54 CEST 2011
On 4/3/11 11:58 PM, Thomas DuBuisson wrote:
> Glad to see someone is doing a more complete packaging of STM helpers
> and derivatives!
> I've done a little work on bounded TChans (hackage "bounded-tchan"
> package) and I think you should consider a few things:
Ah, somehow I missed that in my searching. I'll give it a look and try
to integrate things.
> 1) Split the reader counter and writer counters as I've done in
> bounded-tchan. This gives 2-5 times better performance (I benchmarked
> using Criterion, a single reader, a single writer, and tested channels
> with bounds of 10, 100, and 1000 elements).
That's crazy. I wonder why... must be a contention issue...
> 2) Implement a "tryWriteTBChan" for obvious reasons.
> 4) Help me figure out a good way to build dupTBChan . It's not easy.
I've yet to figure out a way of doing this that has the right semantics.
Perhaps splitting the reader and writer counters will help, though it
sounds like you haven't had much luck either.
>  http://stackoverflow.com/questions/5446484/how-to-add-a-finalizer-on-a-tvar
Have you taken a look at TwilightSTM?
Since I'm aiming to have stm-chans eventually incorporated into stm
proper, that wouldn't work for me, though it sounds like it might solve
the ideological question about adding finalizers to TVars
More information about the Libraries