[package]
edition = "2024"
rust-version = "1.92.0"
name = "masstree"
version = "0.9.5"
authors = ["consistent-milk12"]
build = false
include = [
"src/**/*",
"Cargo.toml",
"LICENSE",
"README.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A high-performance concurrent ordered map (trie of B+trees)"
documentation = "https://docs.rs/masstree"
readme = "README.md"
keywords = [
"data-structures",
"concurrent",
"ordered-map",
"range-scans",
"trie",
]
categories = [
"data-structures",
"concurrency",
]
license = "MIT"
repository = "https://github.com/consistent-milk12/masstree"
[features]
debug-print = []
debug-routing = []
default = ["debug-print"]
mimalloc = ["dep:mimalloc"]
no-prefetch = []
sidecar-suffix = []
small-suffix-capacity = []
tracing = [
"dep:tracing",
"dep:tracing-subscriber",
"dep:tracing-appender",
]
[lib]
name = "masstree"
path = "src/lib.rs"
[dependencies.arrayvec]
version = "0.7.6"
[dependencies.crossbeam-queue]
version = "0.3.12"
[dependencies.mimalloc]
version = "0.1.48"
optional = true
[dependencies.rustc-hash]
version = "2.1.1"
[dependencies.seize]
version = "0.5.1"
[dependencies.static_assertions]
version = "1.1.0"
[dependencies.tracing]
version = "0.1.44"
features = ["attributes"]
optional = true
[dependencies.tracing-appender]
version = "0.2.4"
optional = true
[dependencies.tracing-subscriber]
version = "0.3.23"
features = [
"env-filter",
"fmt",
"json",
]
optional = true
[dev-dependencies.clap]
version = "4.6.0"
features = ["derive"]
[dev-dependencies.core_affinity]
version = "0.8.3"
[dev-dependencies.criterion]
version = "0.8.2"
features = [
"html_reports",
"csv_output",
"real_blackbox",
]
[dev-dependencies.crossbeam-epoch]
version = "0.9.18"
[dev-dependencies.crossbeam-skiplist]
version = "0.1.3"
[dev-dependencies.dhat]
version = "0.3.3"
[dev-dependencies.divan]
version = "0.1.21"
[dev-dependencies.indexset]
version = "0.15.0"
features = ["concurrent"]
[dev-dependencies.loom]
version = "0.7.2"
[dev-dependencies.parking_lot]
version = "0.12.5"
[dev-dependencies.pbench]
version = "0.2.0"
[dev-dependencies.proptest]
version = "1.10.0"
[dev-dependencies.rand]
version = "0.10.0"
[dev-dependencies.rand_chacha]
version = "0.10.0"
[dev-dependencies.rand_distr]
version = "0.6.0"
[dev-dependencies.rayon]
version = "1.11.0"
[dev-dependencies.scc]
version = "3.6.10"
[dev-dependencies.sdd]
version = "4.7.5"
[dev-dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1.0.149"
[dev-dependencies.shuttle]
version = "0.8.1"
[dev-dependencies.tokio]
version = "1.50.0"
features = ["full"]
[dev-dependencies.tracing]
version = "0.1.44"
features = ["attributes"]
[dev-dependencies.tracing-subscriber]
version = "0.3.23"
features = [
"env-filter",
"fmt",
"json",
"parking_lot",
]
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
"cfg(loom)",
"cfg(shuttle)",
]
[profile.bench]
inherits = "release"
[profile.dev]
opt-level = 0
debug = 2
debug-assertions = true
overflow-checks = true
incremental = true
[profile.profiling]
lto = false
debug = 2
inherits = "release"
strip = "none"
[profile.profiling.package."*"]
debug = 2
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
debug = 0
debug-assertions = false
panic = "abort"
overflow-checks = false
strip = "symbols"
[profile.release-with-debug]
lto = false
debug = 2
inherits = "release"
strip = "none"