On Thu, Jul 10, 2014 at 8:39 PM, Brandon Simmons <brandon.m.simmons@gmail.com> wrote:
I'm happy to finally release unagi-chan, an implementation of
high-performance concurrent FIFO queues that have an API very similar
to Control.Concurrent.Chan. You can see benchmarks and documentation
here:

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.

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.

Also: can you use the same technique to get a fast implementation of bounded queues?

G
--
Gregory Collins <greg@gregorycollins.net>