[package]
edition = "2021"
name = "concread"
version = "0.5.9"
authors = ["William Brown <william@blackhats.net.au>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Concurrently Readable Data-Structures for Rust"
homepage = "https://github.com/kanidm/concread/"
documentation = "https://docs.rs/concread/latest/concread/"
readme = "README.md"
keywords = [
"concurrency",
"lru",
"mvcc",
"copy-on-write",
"transactional-memory",
]
categories = [
"data-structures",
"memory-management",
"caching",
"concurrency",
]
license = "MPL-2.0"
repository = "https://github.com/kanidm/concread/"
[features]
ahash = ["dep:ahash"]
arcache = [
"maps",
"lru",
"crossbeam-queue",
]
arcache-is-hashmap = ["arcache"]
arcache-is-hashtrie = ["arcache"]
asynch = ["tokio"]
default = [
"asynch",
"foldhash",
"ebr",
"maps",
"arcache-is-hashtrie",
]
dhat-heap = ["dep:dhat"]
ebr = ["crossbeam-epoch"]
foldhash = ["dep:foldhash"]
hashtrie_skinny = []
maps = [
"crossbeam-utils",
"smallvec",
]
simd_support = []
skinny = []
tcache = []
[lib]
name = "concread"
path = "src/lib.rs"
[[test]]
name = "bptree_map"
path = "tests/bptree_map.rs"
[[test]]
name = "lib"
path = "tests/lib.rs"
[[bench]]
name = "arccache"
path = "benches/arccache.rs"
harness = false
required-features = ["tcache"]
[[bench]]
name = "hashmap_benchmark"
path = "benches/hashmap_benchmark.rs"
harness = false
[dependencies.ahash]
version = "0.8.12"
optional = true
[dependencies.crossbeam-epoch]
version = "0.9.18"
optional = true
[dependencies.crossbeam-queue]
version = "0.3.12"
optional = true
[dependencies.crossbeam-utils]
version = "0.8.21"
optional = true
[dependencies.dhat]
version = "0.3.3"
optional = true
[dependencies.foldhash]
version = "0.2.0"
optional = true
[dependencies.lru]
version = "0.16.3"
optional = true
[dependencies.serde]
version = "1.0"
optional = true
[dependencies.smallvec]
version = "1.15.1"
optional = true
[dependencies.sptr]
version = "0.3"
[dependencies.tokio]
version = "1.49.0"
features = ["sync"]
optional = true
[dependencies.tracing]
version = "0.1.44"
[dev-dependencies.criterion]
version = "0.8.1"
features = ["html_reports"]
[dev-dependencies.function_name]
version = "0.3"
[dev-dependencies.proptest]
version = "1.9.0"
[dev-dependencies.rand]
version = "0.9.2"
[dev-dependencies.serde_json]
version = ">=1.0.149"
[dev-dependencies.tokio]
version = "1.49.0"
features = [
"rt",
"macros",
]
[dev-dependencies.tracing-subscriber]
version = "0.3.22"
features = [
"env-filter",
"std",
"fmt",
]
[dev-dependencies.uuid]
version = ">=1.19.0"