[package]
name = "fastalloc"
version = "0.1.0"
authors = ["Eshan Roy <eshanized@proton.me>"]
edition = "2021"
rust-version = "1.70.0"
description = "High-performance memory pooling library with type-safe handles and zero-cost abstractions"
license = "MIT OR Apache-2.0"
repository = "https://gitlab.com/tivisionoss/crates/fastalloc"
homepage = "https://gitlab.com/tivisionoss/crates/fastalloc"
documentation = "https://docs.rs/fastalloc"
readme = "README.md"
keywords = ["memory", "pool", "allocator", "performance", "no_std"]
categories = ["memory-management", "no-std", "data-structures"]
[features]
default = ["std"]
std = []
serde = ["dep:serde", "dep:serde_json"]
parking_lot = ["std", "dep:parking_lot"]
crossbeam = ["std", "dep:crossbeam"]
tracing = ["dep:tracing"]
stats = []
lock-free = ["crossbeam"]
[dependencies]
serde = { version = "1.0", optional = true, default-features = false, features = ["derive", "alloc"] }
serde_json = { version = "1.0", optional = true, default-features = false, features = ["alloc"] }
parking_lot = { version = "0.12", optional = true }
crossbeam = { version = "0.8", optional = true }
tracing = { version = "0.1", optional = true, default-features = false }
dep-insight = "0.3.0"
[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
tokio = { version = "1.35", features = ["rt-multi-thread", "macros", "time"] }
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true
[profile.bench]
opt-level = 3
lto = true
codegen-units = 1
[[bench]]
name = "allocation_speed"
harness = false
[[bench]]
name = "deallocation_speed"
harness = false
[[bench]]
name = "multithreaded"
harness = false
[[bench]]
name = "fragmentation"
harness = false
[[bench]]
name = "comparison"
harness = false
[[bench]]
name = "real_world"
harness = false
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]