[package]
name = "arctic-map"
version = "0.1.4"
edition = "2024"
description = "Lock-free adaptive radix tree"
repository = "https://github.com/nwtnni/arctic"
license = "MIT OR Apache-2.0"
keywords = ["lock-free", "concurrent", "radix-tree", "map", "index"]
categories = ["concurrency", "data-structures"]
[lib]
name = "arctic"
path = "src/lib.rs"
[features]
default = ["smr-seize"]
stat = ["dep:serde", "dep:base64", "dep:hdrhistogram"]
stat-garbage = []
opt-no-node3-keys = []
opt-no-node3-iter = []
opt-no-node15-get = []
opt-no-node15-keys = []
opt-no-node15-iter = []
opt-no-node47-keys = []
opt-no-node47-iter = []
opt-no-prefix = []
opt-no-int = []
opt-no-expand = []
opt-membarrier = ["dep:libc", "seize/fast-barrier"]
opt-no-path = []
opt-no-dispatch = []
smr-hazard = []
smr-epoch = ["dep:crossbeam-epoch"]
smr-seize = ["dep:seize"]
validate = []
rand = ["dep:rand"]
shuttle = []
proptest = ["dep:proptest"]
[dependencies]
base64 = { version = "0.22.1", optional = true }
crossbeam-epoch = { version = "0.9.18", optional = true }
hdrhistogram = { version = "7.5.4", optional = true, default-features = false, features = ["serialization"] }
libc = { version = "0.2.176", optional = true }
proptest = { version = "1.9.0", optional = true }
ribbit = { version = "0.2.1", features = ["atomic-u128"] }
seize = { version = "0.5.1", optional = true }
serde = { version = "1.0.219", optional = true, features = ["derive"] }
rand = { version = "0.10.1", optional = true }
fearless_simd = "0.6.0"
[dev-dependencies]
criterion = { version = "0.8.2", default-features = false }
mimalloc = "0.1.50"
proptest-state-machine = "0.6.0"
shuttle = { git = "https://github.com/nwtnni/shuttle.git" }
shuttle-core = { git = "https://github.com/nwtnni/shuttle.git" }
[[bench]]
name = "sequential"
harness = false
[profile.release]
debug = true