kazura-queue: Fast concurrent queues much inspired by unagi-chan

[ bsd3, concurrency, library ] [ Propose Tags ]

"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.

"kazura-queue" lost broadcast function to improve the second issue. It means that kazura-queue is not "Chan" but is just "Queue".

[Skip to Readme]


Maintainer's Corner

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS],,,,
Change log ChangeLog.md
Dependencies atomic-primops (>=0.6), base (>=4.8 && <5.0), primitive (>=0.5.3) [details]
License BSD-3-Clause
Copyright 2016-2018 Asakamirai
Author Asakamirai
Maintainer asakamirai_hackage@towanowa.net
Category Concurrency
Home page https://github.com/asakamirai/kazura-queue#readme
Bug tracker https://github.com/asakamirai/kazura-queue/issues
Source repo head: git clone https://github.com/asakamirai/kazura-queue
Uploaded by asakamirai at 2018-09-11T04:19:11Z
Distributions LTSHaskell:, NixOS:, Stackage:
Downloads 3250 total (21 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-09-11 [all 1 reports]

Readme for kazura-queue-

[back to package description]