Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>You'll need to measure the operations to really quantify how inefficient any given implementation of the queue operations are.</p> <p>That said, there are alternative data structures for different queue scenarios. Particularly if you're interested in either persistent or pure queues, or concurrent queues, then you have a few options.</p> <p><em>Pure data structures</em></p> <ul> <li>finger tree-based queues: <a href="http://hackage.haskell.org/package/fingertree-psqueue" rel="nofollow">http://hackage.haskell.org/package/fingertree-psqueue</a></li> <li>pure priority queues: <a href="http://hackage.haskell.org/package/pure-priority-queue" rel="nofollow">http://hackage.haskell.org/package/pure-priority-queue</a></li> <li>asymptotically optimal, provably correct queues, <a href="http://hackage.haskell.org/package/meldable-heap" rel="nofollow">http://hackage.haskell.org/package/meldable-heap</a></li> <li>queues based on binomial heaps, <a href="http://hackage.haskell.org/package/pqueue" rel="nofollow">http://hackage.haskell.org/package/pqueue</a></li> </ul> <p><em>Concurrent queues</em></p> <ul> <li>STM-based queues, <a href="http://hackage.haskell.org/package/bounded-tchan" rel="nofollow">http://hackage.haskell.org/package/bounded-tchan</a></li> <li>STM-based bounded queues, <a href="http://hackage.haskell.org/package/rolling-queue" rel="nofollow">http://hackage.haskell.org/package/rolling-queue</a></li> </ul> <p><em>Publish subscribe</em></p> <p>If you're looking at a publish/subscribe mechanism, perhaps consider a binding to zeromq:</p> <ul> <li><a href="http://www.zeromq.org/" rel="nofollow">http://www.zeromq.org/</a></li> </ul> <p>it definitely is aimed at high freq operations, and even has backs the FP community, <a href="http://www.zeromq.org/bindings:haskell" rel="nofollow">http://www.zeromq.org/bindings:haskell</a></p> <p>There are two different OCaml bindings to ZeroMQ: <a href="http://www.zeromq.org/bindings:ocaml" rel="nofollow">http://www.zeromq.org/bindings:ocaml</a></p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload