github.com/songzhibin97/go-baseutils@v0.0.2-0.20240302024150-487d8ce9c082/structure/queues/lscq/README.md (about)

     1  # LSCQ
     2  
     3  LSCQ is a scalable, unbounded, multiple-producer and multiple-consumer FIFO queue in Go language.
     4  
     5  In the benchmark(AMD 3700x, running at 3.6 GHZ, -cpu=16), the LSCQ outperforms lock-based linked queue **5x ~ 6x** in
     6  most cases. Since built-in channel is a bounded queue, we can only compared it in EnqueueDequeuePair, the LSCQ
     7  outperforms built-in channel **8x ~ 9x** in this case.
     8  
     9  The ideas behind the LSCQ
    10  are [A Scalable, Portable, and Memory-Efficient Lock-Free FIFO Queue](https://arxiv.org/abs/1908.04511)
    11  and [Fast Concurrent Queues for x86 Processors](https://www.cs.tau.ac.il/~mad/publications/ppopp2013-x86queues.pdf).
    12  
    13