subms-spsc-ring-buffer 0.5.0

submillisecond.com cookbook recipe - concurrency: subms-spsc-ring-buffer. Wait-free SPSC ring buffer with cache-line padded counters and opposite-index caching; sub-50ns enqueue/dequeue on sibling cores.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.85"
name = "subms-spsc-ring-buffer"
version = "0.5.0"
authors = ["Kieran Smith <oss@submillisecond.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "submillisecond.com cookbook recipe - concurrency: subms-spsc-ring-buffer. Wait-free SPSC ring buffer with cache-line padded counters and opposite-index caching; sub-50ns enqueue/dequeue on sibling cores."
homepage = "https://submillisecond.com/cookbook/recipes/subms-spsc-ring-buffer"
readme = "README.md"
keywords = [
    "spsc",
    "ring-buffer",
    "lock-free",
    "concurrency",
    "subms",
]
categories = [
    "concurrency",
    "data-structures",
]
license = "MIT OR Apache-2.0"

[features]
bulk = []
default = []
harness = ["dep:subms"]
metrics = []
mpmc-disruptor = []
mpsc-fan-in = []
wait-strategies = []

[lib]
name = "subms_spsc_ring_buffer"
path = "src/lib.rs"

[[example]]
name = "demo"
path = "examples/demo.rs"

[[example]]
name = "perf_features"
path = "examples/perf_features.rs"
required-features = [
    "harness",
    "bulk",
    "wait-strategies",
    "mpsc-fan-in",
    "mpmc-disruptor",
    "metrics",
]

[[example]]
name = "perf_main"
path = "examples/perf_main.rs"
required-features = ["harness"]

[[test]]
name = "spsc_ring_buffer_tests"
path = "tests/spsc_ring_buffer_tests.rs"

[[test]]
name = "sub_millisecond_bench"
path = "tests/sub_millisecond_bench.rs"

[dependencies.subms]
version = "0.5.0"
optional = true