affinitypool 0.7.0

A Rust library for running blocking jobs on a dedicated thread pool with CPU core affinity
Documentation
[package]
name = "affinitypool"
edition = "2024"
version = "0.7.0"
license = "MIT/Apache-2.0"
readme = "README.md"
description = "A Rust library for running blocking jobs on a dedicated thread pool with CPU core affinity"
repository = "https://github.com/surrealdb/affinitypool"
homepage = "https://github.com/surrealdb/affinitypool"
documentation = "https://docs.rs/affinitypool/"
keywords = ["pool", "parallelism", "threading", "thread", "threadpool"]
categories = ["asynchronous", "concurrency", "os"]
resolver = "2"

[features]
default = []

[dependencies]
arc-swap = "1.7"
async-task = "4"
crossbeam-deque = "0.8"
crossbeam-utils = "0.8"
num_cpus = "1.17.0"
parking_lot = "0.12.5"
thiserror = "2.0.18"

[target.'cfg(any(target_os = "android", target_os = "linux", target_os = "macos", target_os = "freebsd"))'.dependencies]
libc = "^0.2.186"

[target.'cfg(target_os = "windows")'.dependencies]
winapi = { version = "^0.3.9", features = ["processthreadsapi", "winbase"] }

[target.'cfg(not(loom))'.dev-dependencies]
blocking = "1.6.2"
criterion = { version = "0.8", features = ["html_reports"] }
rayon = "1.12.0"
threadpool = "1.8.1"
tokio = { version = "1.52.3", features = ["rt-multi-thread", "macros", "time", "sync"] }
trybuild = "1.0"

[target.'cfg(loom)'.dev-dependencies]
loom = "0.7"

[[bench]]
name = "threadpool"
harness = false

[[bench]]
name = "microbench"
harness = false

[[bench]]
name = "vs_tokio"
harness = false

[[bench]]
name = "vs_blocking"
harness = false

[[bench]]
name = "vs_rayon"
harness = false

[[bench]]
name = "vs_threadpool"
harness = false

[[bench]]
name = "high_load"
harness = false

[[example]]
name = "alloc_count"

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(loom)'] }