Fast concurrent queues much inspired by unagi-chan http://github.com/asakamirai/kazura-queue

Latest on Hackage:

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD3 licensed by Asakamirai

"kazura-queue" provides an implementation of FIFO queue. It is faster than Chan, TQueue or TChan by the benefit of fetch-and-add instruction.

Main motivation of this package is to solve some difficulty of "unagi-chan" package.

  • In "unagi-chan", the item in the queue/chan can be lost when async exception is throwed to the read thread while waiting for read. (Although it has handler to recover lost item, it is difficult to keep FIFO in such case)

  • In "unagi-chan", garbage items of the queue cannot be collected immediately. Since the buffer in the queue has the reference to the items until the buffer is garbage-collected.

"kazura-queue" is slightly slower than "unagi-chan" instead of solving these issues. And "kazura-queue" lost broadcast function to improve the second issue. It means that kazura-queue is not Chan but is just Queue.

Depends on 5 packages:
Used by 1 package:
comments powered byDisqus