<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 10, 2014 at 8:39 PM, Brandon Simmons <span dir="ltr"><<a href="mailto:brandon.m.simmons@gmail.com" target="_blank">brandon.m.simmons@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":26q" class="a3s" style="overflow:hidden">I'm happy to finally release unagi-chan, an implementation of<br>

high-performance concurrent FIFO queues that have an API very similar<br>
to Control.Concurrent.Chan. You can see benchmarks and documentation<br>
here:</div></blockquote></div><br>It's difficult to overstate how much faster unagi-chan is than Control.Concurrent under contention, I'm seeing >10x improvements in the 100 readers/100 writers benchmark on this quad-core machine. I'll have to try it on the 8-core at work. Performance seems to be predictably fast as you scale the number of workers, unlike the others which asymptotically explode during contention. Really impressive work, Brandon.<br>
<br>How close is unagi-chan to being a drop-in replacement for MVar? Since this implementation seems to clearly be better, personally I would wonder if it shouldn't just replace the existing one in the standard library.<br clear="all">
<div><br></div><div>Also: can you use the same technique to get a fast implementation of bounded queues?</div><div><br></div><div>G</div>-- <br>Gregory Collins <<a href="mailto:greg@gregorycollins.net" target="_blank">greg@gregorycollins.net</a>>
</div></div>