[package]
edition = "2024"
rust-version = "1.87"
name = "smallring"
version = "0.2.3"
authors = ["shaogme <shaog.rs@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High-performance ring buffer with automatic stack/heap optimization | 高性能环形缓冲区,支持栈/堆自动优化"
homepage = "https://github.com/shaogme/smallring"
documentation = "https://docs.rs/smallring"
readme = "README.md"
keywords = [
"spsc",
"ringbuffer",
"lockfree",
"queue",
"concurrent",
]
categories = [
"concurrency",
"data-structures",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/shaogme/smallring"
[features]
default = []
loom = ["dep:loom"]
portable-atomic = [
"dep:portable-atomic",
"dep:portable-atomic-util",
]
[lib]
name = "smallring"
path = "src/lib.rs"
[[test]]
name = "loom_atomic"
path = "tests/loom_atomic.rs"
[[test]]
name = "loom_generic"
path = "tests/loom_generic.rs"
[[test]]
name = "loom_spsc"
path = "tests/loom_spsc.rs"
[[bench]]
name = "spsc_benchmark"
path = "benches/spsc_benchmark.rs"
harness = false
[dependencies.loom]
version = "0.7.2"
features = ["futures"]
optional = true
[dependencies.portable-atomic]
version = "1"
optional = true
default-features = false
[dependencies.portable-atomic-util]
version = "0.2"
features = ["alloc"]
optional = true
default-features = false
[dev-dependencies.criterion]
version = "0.7.0"
features = ["async_tokio"]
[dev-dependencies.rtrb]
version = "0.3.2"