[Haskell-cafe] [ANN](and feedback request) unagi-chan: Fast and scalable concurrent queues for x86, with a Chan-like API

Gregory Collins greg at gregorycollins.net
Tue Jul 15 06:44:24 UTC 2014


On Thu, Jul 10, 2014 at 8:39 PM, Brandon Simmons <
brandon.m.simmons at 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 at gregorycollins.net>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20140715/3c979898/attachment.html>


More information about the Haskell-Cafe mailing list