jacques 0.1.0

High-performance lock-free MPMC queues with horizontal scaling and zero-allocation operation
[dependencies.crossbeam-utils]
default-features = false
version = "0.8.21"

[dependencies.portable-atomic]
default-features = false
version = "1.11.1"

[dependencies.pprof]
features = ["flamegraph"]
optional = true
version = "0.13.0"

[dependencies.thiserror]
default-features = false
version = "2.0.16"

[dev-dependencies.criterion]
features = ["html_reports", "async_tokio"]
version = "0.5"

[dev-dependencies.tokio]
features = ["sync", "rt-multi-thread", "macros", "time"]
version = "1.47.1"

[features]
default = []
dev-profiling = ["pprof"]
jemalloc = ["tikv-jemallocator"]

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

[lints.clippy.all]
level = "deny"
priority = -1

[lints.clippy.cargo]
level = "deny"
priority = -1

[lints.clippy.nursery]
level = "deny"
priority = -1

[lints.clippy.pedantic]
level = "deny"
priority = -1

[lints.rust]
dead_code = "deny"
missing_docs = "deny"
unreachable_code = "deny"
unsafe_code = "allow"
unused_imports = "deny"
unused_must_use = "deny"
unused_variables = "deny"

[package]
authors = ["0xAeneas"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["concurrency", "data-structures", "no-std"]
description = "High-performance lock-free MPMC queues with horizontal scaling and zero-allocation operation"
documentation = "https://docs.rs/jacques"
edition = "2024"
exclude = [".github/*", "benches/*", "examples/*"]
homepage = "https://github.com/0xAeneas/jacques"
keywords = ["queue", "mpmc", "lock-free", "concurrent", "lockfree"]
license = "MIT OR Apache-2.0"
name = "jacques"
readme = "README.md"
repository = "https://github.com/0xAeneas/jacques"
rust-version = "1.88"
version = "0.1.0"

[package.metadata.docs.rs]
all-features = true
portable-atomic = ["portable-atomic"]
rustdoc-args = ["--cfg", "docsrs"]

[profile.bench]
debug = 2

[profile.maxperf]
codegen-units = 1
debug = 0
debug-assertions = false
incremental = false
inherits = "release"
lto = "fat"
opt-level = 3
overflow-checks = false
panic = "abort"
rpath = false
strip = "symbols"

[target.'cfg(not(target_env = "msvc"))'.dependencies.tikv-jemallocator]
optional = true
version = "0.6"