bounded-spsc-queue

A Bounded SPSC queue for Rust (by polyfractal)

Bounded-spsc-queue Alternatives

Similar projects and alternatives to bounded-spsc-queue

  • lockfree

    A collection of lock-free data structures written in standard C++11

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better bounded-spsc-queue alternative or higher similarity.

bounded-spsc-queue reviews and mentions

Posts with mentions or reviews of bounded-spsc-queue. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-27.
  • Optimizing a Ring Buffer for Throughput
    2 projects | news.ycombinator.com | 27 Jun 2023
    It's just amortizing for large transfers. For frequent near-empty cases it still has the shared pointers problem. NVMe have a really clever way to avoid this, but it depends on the fact that there's [occasional] communication on the reverse stream (the SQ/CQ pair): The cache line sized entries in the submit queue has a "phase" bit in the last word. The reader can just read that to know when the entry has updated (the polarity of the bit toggles each time we loop around and you can just use the top+1 index bit if power-of-two sized).

    The back pressure is handled with a credit scheme and the producer gets an updated copy of most recently-know consumer read counter with every completion message back.

    Using this scheme you can achieve the optimal performance with just a single cache line of traffic for each cache-line sized message.

    Unfortunately I haven't found a SPSC Rust crate that does this, but https://github.com/polyfractal/bounded-spsc-queue [abandoned] comes close.

Stats

Basic bounded-spsc-queue repo stats
1
154
10.0
over 1 year ago

polyfractal/bounded-spsc-queue is an open source project licensed under Apache License 2.0 which is an OSI approved license.

The primary programming language of bounded-spsc-queue is Rust.


Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com